SQL - Where 절

박영준·2023년 6월 26일
0

DB

목록 보기
21/41
  • 사용 상황 : Select 쿼리문으로 가져올 데이터에 조건을 걸어줄 때

예시 1 : orders 테이블에서 '결제수단이 카카오페이'인 데이터만 가져오기

select * from orders
where payment_method = 'kakaopay'

주의!
'kakaopay' 처럼 작은따옴표를 붙여줘야 '문자열' 임을 알 수 있다.
만약, 작은따옴표를 쓰지 않는다면 해당 kakaopay 도 테이블or필드로 컴퓨터가 이해하게 된다.

예시 2 : 초과 - point_users 테이블에서 '포인트가 5000점 초과'인 데이터만 가져오기

select * from point_users
where point > 5000

예시 3 : and, or - orders 테이블에서 주문한 강의가 '앱개발 종합반'이면서, '결제수단이 카드'인 데이터만 가져오기

select * from orders
where course_title = '앱개발 종합반' and payment_method = 'CARD'

  • or : 또는

예시 4 : 성이 황씨인 유저

select * from users
where name = "황**"

예시 5 : 같지 않다 - 웹개발 종합반을 제외한 데이터

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

  • !=

예시 6 : 범위 - 7월 13일 ~ 7월 14일의 주문데이터

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

예시 7 : 포함 - week가 1, 3인 데이터

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

  • in ()

  • in (1, 3, 4, 5) 이렇게 계속 쓸 수 있다.

예시 8 : 패턴 - daum.net으로 끝나는 데이터

select * from users 
where email like '%daum.net'

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

예시 9 : 성이 남씨인 유저의 이메일

select email from users 
where name = "남**"
  • ( * ) 로 모든 데이터가 아닌, 특정 데이터(email)로 한정지을 수 있다.

예시 10 : Gmail을 사용하는 2020/07/12~13에 가입한 유저

select * from users
where created_at between "2020-07-12" and "2020-07-14"
and email like "%gmail.com"
  • between 이후, and를 계속 이어서 사용할 수 있다.

예시 11 : 다수 조건 - naver 이메일을 사용하면서, 웹개발 종합반을 신청했고 결제는 kakaopay로 이뤄진 주문데이터

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

업로드중..

profile
개발자로 거듭나기!

0개의 댓글