SQL where 절

김지은·2023년 2월 22일
0

SQL 첫 걸음

목록 보기
3/18

7.where 절의 개념

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

    ex) orders 테이블에서 결제수단이 카카오페이인 데이터만 가져와줘
    [select * from orders where 필드 = 'kakaopay']
    ex) point_users 테이블에서 포인트가 5000점 이상인 데이터만 가져와줘
    [select * from point_users where point > 5000]
    ex) orders 테이블에서 주문한 강의가 앱개발 종합반이면서, 결제수단이 카드인 데이터만 가져와줘
    [select * from orders where 테이블 = '앱개발 종합반' and 테이블 'CARD']

꿀팁 >
1) show tables로 어떤 테이블이 있는지 살펴보기
2) 제일 원하는 정보가 있을 것 같은 테이블에 select from 테이블명 쿼리 날려보기
3) 원하는 정보가 없으면 다른 테이블에도 2)를 해보기
4) 테이블을 찾았다! 조건을 걸 필드를 찾기
5) select
from 테이블명 where 조건 이렇게 쿼리 완성!

  1. where 절과 자주 같이쓰는 문법
  • '같지 않음' 조건 "!="

    ex) 웹개발 종합반을 제외하고 주문데이터를 보고 싶어
    [select * from 테이블 where 필드 =! '웹개발 종합반']
    *상식 '=!'에서 !(느낌표)는 부정(not)을 의미 '=' 같음을 의미

  • '범위' 조건 걸어보기 "between"

    ex) 7월 13일, 7월 14일의 주문데이터만 보고 싶어
    [select * from 테이블 where 필드 between '2022-07-13' and '2022-07-15'

  • '포함' 조건 걸어주기 "in"

    ex) 1, 3주차 사람들의 '오늘의 다짐' 데이터만 보고 싶어
    [select * from 테이블 where 필드 in (1,3)]

  • '패턴'(문자열 규칙) 조건 걸어보기 "like"

    ex) 다음 이메일을 사용하는 유저만 보고 싶어
    [select * from 테이블 where 필드 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로 끝나는 모든 데이터
    이외에도 여러 문법 - ('how to use like in sql' 구글링!)
  • 일부 데이터만 가져오기 "Limit"

    ex) 카카오 페이 결제한 데이터를 5개만 보고싶어
    [select * frome 테이블 where 필드 = 'kakaopay' limit 5]

  • 중복 데이터는 제외하고 가져오기 "Distinct"

    ex) 어떤 결제 수단이 있는지 보고싶어
    [select distinct(필드) from 테이블]

  • 테이블에 데이터가 몇 개인지 숫자 세보기 "Count"

    ex) orders 테이블에 데이터가 몇 개 들어있는지 궁금해요!
    [select count(*) from orders]

*응용 해보기
distinct와 count를 같이 써보기

ex) 스파르타 회원 분들의 성(family name)씨가 몇개인지 궁금하다면?
[select count(distinct(필드)) from 테이블]

select distinct(name) from users;

profile
jeun 개발일지 첫 걸음

0개의 댓글