본문 바로가기
내마음대로만들어보자/SQL

[SQL] Select, Where절 기본문법

by 소농민! 2022. 2. 21.
728x90

1. Where 절의 개념 

Where 절은 Select 쿼리문으로 가져올 데이터에 조건을 걸어줄때 사용한다. 

 

2. Where절 예제

- orders 테이블에서 결제수단이 카카오페이인 데이터 

select * from orders

where payment_method = "kakaopay";

 

- point_users 테이블에서 포인트가 5000점 이상인 데이터

select * from point_users 

where point >= 5000

 

- orders 테이블에서 주문한 강의가 앱개발 종합반이면서, 결제수단이 카드인 데이터

select * from orders

where course_title = "앱개발 종합반"

and payment_method = "kakaopay";

 

- 포인트가 20000점보다 많은 유저만 뽑아보기

select * from point_users

where point > 20000;

 

- 성이 황씨인 유저만 뽑아보기 

select * from users

where name = "황**";

 

select * from users

where name like '황%'

 

- 웹개발 종합반이면서 결제수단이 CARD인 주문건만 뽑아보기

select * from orders

where course_title = "웹개발 종합반"

and payment_method = "CARD";

 

※ 쿼리를 작성하는 방식

1. show tables로 어떤 테이블이 있는지 확인

2. 제일 원하는 정보가 있을만한 테이블을 select * from 로 테이블명 쿼리 날려보기

3.  원하는 정보가 있는 테이블을 찾았다면 조건을 걸어 보자(Where 절)

4. select * from 테이블명 where 조건

 

3. Where절과 같이 자주 쓰이는 문법

 - 같지않음 조건 걸어보기

select * from orders

where course_title != "웹개발 종합반";

 

- 범위 조건 걸어보기 

select * from orders

where created_at between "2020-07-13" and "2020-07-15";

 

- 포함 조건 걸어보기

select * from checkins

where week in (1, 3);

 

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

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. Where절 예제

 

- 20000~30000 포인트 보유하고 있는 유저만 추출해보기

select * from point_users

where point between 20000 and 30000

 

- 이메일이 s로 시작하고 com로 끝나는 유저만 추출해보기

select * from users

where email like 's%com';

 

- 이메일이 s로 시작하고 com로 끝나면서 성이 이씨인 유저만 추출해보기

select * from users

where email like 's%com' and name = "이**";

 

 

5. 자주쓰이는 예제 

- 일부 데이터만 가져오기 

  → 어떤 데이터가 있는지 확인하기위해 잠깐 데이터를 가져오려고 했지만 데이터 양이 많은경우 시간이 오래걸리게 된다.

       그럴경우 limit 를 사용해서 일부 데이터만 가져올 수 있다. 

 

select * from orders

where payment_method = "kakaopay"

limit 5;

 

- 중복 데이터는 제외하고 가져오기

select distinct(payment_method) from orders;

 

- 몇개인지 세어보기

select count(*) from orders

 

- 성씨가 몇개인지 궁금하다면

SELECT count(distinct(name)) from users;

'내마음대로만들어보자 > SQL' 카테고리의 다른 글

[SQL] Join 테이블 연결하기  (0) 2022.03.06
[SQL] Group by, Order by  (0) 2022.02.26
[SQL] Select, Where 기본 문법 예제  (0) 2022.02.22
[SQL] Select 쿼리문의 개념  (0) 2022.02.21