본문 바로가기

SQL

[SQL] Select, Where 문법

SQL과 친해지기 1일차

스파르타코딩클럽으로 교육을 진행하고 있다.

너무너무 재미있고 쉽게 수업을 해주셔서 재미가 붙었다.

나도 SQL입문자

 

Where 절의 개념

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

예1) orders 테이블에서 결제수단이 카카오페이인 데이터만 가져와줘!

예2) point_users 테이블에서 포인트가 5000점 이상인 데이터만 가져와줘!

예3) orders 테이블에서 주문한 강의가 앱개발 종합반이면서, 결제수단이 카드인 데이터만 가져와줘!

 

 

[꿀팁🍯] 이렇게 쿼리를 작성하면 편해요!

1) show tables로 어떤 테이블이 있는지 살펴보기

2) 제일 원하는 정보가 있을 것 같은 테이블에 select * from 테이블명 쿼리 날려보기

3) 원하는 정보가 없으면 다른 테이블에도 2)를 해보기

4) 테이블을 찾았다! 조건을 걸 필드를 찾기

5) select * from 테이블명 where 조건 이렇게 쿼리 완성!

 

값 데이터를 선택할때에는 ''(따음표) 안에 넣어야 인식가능!

하지만 숫자는 따음표 안함.

 

 

1) '같지 않음' 조건은 !=

 

select * from orders
where payment_method != 'CARD';

 

👉 잠깐 상식! '!=' 에서 ! (느낌표)는 부정 (not)을 의미.

 

 

 

2) '범위' 조건은 between을 사용

select * from orders
where created_at between "2020-07-13" and (그리고) "2020-07-15";

 

3) '패턴' 조건은 like 으로 걸 수 있어요.

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로 끝나는 모든 데이터

 

4) '포함' 조건은 in 으로 걸 수 있어요.

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

 

5) 일부 데이터만 가져오기: Limit

테이블에 어떤 데이터가 들어있나 잠깐 보려고 들어왔는데, 데이터를 다 불러오느라 시간이 오래 걸리면 힘들겠죠? 

일부 데이터만 가져오는 Limit이라는 기능이 있습니다.

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

 

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

select distinct(payment_method) from orders

 

7) 몇 개인지 숫자 세보기: Count

select count(*) from orders

 

 

[응용] Distinct와 Count를 같이 써보기

select distinct(name) from users;