<SQL 개발 일지> SQL 1주 차

Jony·2023년 2월 3일
0
post-thumbnail

스파르타코딩클럽 [왕초보] 엑셀보다 쉬운 sql

이미 한 번 공부 했던 것이지만 다시 한다는 느낌으로! 느낌 아니까~😏

1. sql의 필요성(sql= Structured Query Language)

sql이란 DB에 요청을 해서 원하는 데이터를 가져오는 것을 도와주는 언어!

1) 데이터를 읽어오는 과정을 편하고 보기 쉽게 만들어준다.
2) 데이터를 손쉽고 깔끔하게 정리/분석하는 기능을 지원해준다.

2. SELECT 쿼리문

-> 쿼리문이란 : 쿼리= 질의, 즉, DB에 명령을 내리는 것을 의미한다.

select란 뜻 그대로 선택한다는 뜻이다. 데이터를 선택해 가져오는 쿼리문이다.

이번 강의에서 사용한 프로그램은 DBeaver를 사용해 진행했다.

어떤 테이블이 있는지 찾아보려면 아래와 같은 명령문을 입력하면 된다.

show tables

결과를 보면 위의 이미지와 같이 테이블에 무엇이 있는지 나오게 된다.

이 중에 users를 보고 싶다면 아래와 같은 명령문을 입력하면 된다.

select * from users

users 테이블에서 특정 필드를 보고 싶다면

select created_at, name, email from users...등등 * 대신 보고 싶은 필드를 입력하면 된다.

3. WHERE 절

-> select 쿼리문으로 가져올 데이터에 조건을 걸어준다.

select * from = users
where name = '김**'

위의 명령문을 통해 이름에 '김'씨 성을 가진 사람만 표출되게 한다.

만약, 2개 이상의 조건을 보고 싶으면 아래와 같이 명령문을 입력하면 된다.

select * from users
where 필드 = '조건' and 필드 ='조건'

쿼리를 작성할 시, 찾고자 하는 목표를 하나씩 조각내어 찾으면 훨씬 수월하다.

1> show tables로 테이블 파악
2> 원하고자 하는 테이블을 선택해 그 안의 필드를 보고싶으면 select~from 테이블명 입력
3> 원하는 정보가 없다면 위의 명령어를 이용해 다른 테이블 입력 및 찾기
4> 조건을 걸을 수 있는 필드를 찾았으면 select~ from 테이블명 where 조건 입력

4. WHERE 절과 함께 쓰이는 문법

1] '같지 않음'

select * from 테이블명
where 필드명 != '조건' 

2] '범위'

select * from 테이블명
where 필드명 between '범위 시작 일' and '범위 끝나는 일+1

예를 들어 2023-01-15 ~ 2023-01-17 이면 15,16일 주문 데이터만 나온다.

3] '포함'

select * from 테이블명
where 필드명 in (특정 수)
 예) select * from checkins
     where week in (2,4)

2,4 주차의 사람들의 정보를 볼 수 있다.

4] '패턴'(문자열 규칙)

select * from 테이블명
where email like '%특정 메일주소'

like는 패턴으로 조건을 거는 문법으로, 사용법이 아주 다양하다.
{- where email like 'a%': email 필드값이 a로 시작하는 모든 데이터
- where email like '%a' email 필드값이 a로 끝나는 모든 데이터
- where email like '%co%' email 필드값에 co를 포함하는 모든 데이터
- where email like 'a%o' email 필드값이 a로 시작하고 o로 끝나는 모든 데이터}

상황에 맞게 찾아서 쓰면 된다 (tip: 구글링 how to use like in sql )

5] 'limit' : 일부 데이터만 가져오기

보고싶은 데이터의 양을 한정하여 보고 싶을 때 사용하는 조건이다.

 select * from 테이블명
 where 필드명 = '조건'
 limit 출력하고 싶은 데이터 수

6] 'distinct' : 중복 데이터를 제외하고 가져오기

찾고자 하는 조건의 종류가 궁금할 때, 한 번에 볼 수 있게 해주는 조건이다.

select distinct(필드) from 테이블명

7] 'count' : 테이블 안 데이터의 갯수가 궁금할 때 사용하는 조건이다.

select count(* or 필드명) from 테이블명

8] 'distinct'와 'count'의 응용

select count(distinct(* or 필드명)) from 테이블명

1주 차 숙제

naver 이메일을 사용하면서, 웹개발 종합반을 신청했고 결제는 kakaopay로 이뤄진
주문 데이터 추출

select * from orders
where email like '%naver.com'
and course_title = '웹개발 종합반'
and payment_method = 'kakaopay'

작년 아무것도 모르는 상태에서 접한 sql.. 대부분 까먹었지만, 필요하기에 복습 겸 다시 시작한다는 다짐으로 신청했다. 첫 주차라 배웠던 것이 기억이 나지만 초심으로 돌아가 열심히 잘 해볼 생각이다!

profile
알면 알수록 모르는 코생태계

0개의 댓글