본문 바로가기
개발일지

[스파르타코딩클럽] 엑셀보다 쉬운 SQL 문법 정리

by kiyodao 2022. 5. 29.

0. 기본 형태

select * from table

 

1. where

: Where 절은, Select 쿼리문으로 가져올 데이터에 조건을 걸어주는 것을 의미해요.

select * from orders
where payment_method = "kakaopay";

"orders 테이블에서 payment_method가 kakaopay인 것만 가져와줘!" 라는 의미랍니다.

 

1-1. '같지 않음' 조건 걸어보기

: '웹개발 종합반'을 제외하고 주문데이터를 보고 싶어졌어요. 어떻게 하면 좋을까요? '!=' 에서 ! (느낌표)는 부정 (not)을 의미합니다. '='는 같음을 의미하니, '!='는 같지 않음이겠죠!

select * from orders
where course_title != "웹개발 종합반";

 

1-2. '범위' 조건 걸어보기

: 7월 13일, 7월 14일의 주문데이터만 보고 싶어졌어요. 어떻게 해야 할까요?

select * from orders
where created_at between "2020-07-13" and "2020-07-15";

 

1-3. '포함' 조건 걸어보기

: 1, 3주차 사람들의 '오늘의 다짐' 데이터만 보고 싶어졌어요.

select * from checkins 
where week in (1, 3);

 

1-4. '패턴' (문자열 규칙) 조건 걸어보기

: 다음 (daum) 이메일을 사용하는 유저만 보고 싶어졌어요. 어떻게 하죠?

select * from users 
where email like '%daum.net';
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로 끝나는 모든 데이터

 

1-5. 일부 데이터만 가져오기: Limit

select * from orders 
where payment_method = "kakaopay"
limit 5;

딱 5개만 출력된 것을 알 수 있죠?

 

1-6. 중복 데이터는 제외하고 가져오기: Distinct

select distinct(payment_method) from orders;

1-7. 몇 개인지 숫자 세보기: Count

select count(*) from orders