반응형
1. 리뷰가 있는 숙소만 고르기
- 리뷰수 > 0 인 숙소
SELECT id, name, neighbourhood_group, neighbourhood, room_type, price, number_of_reviews, last_review
FROM data.airbnb_nyc
WHERE number_of_reviews > 0
- 최근 리뷰 일자가 비어있지 않은 숙소
SELECT id, name, neighbourhood_group, neighbourhood, room_type, price, number_of_reviews, last_review
FROM data.airbnb_nyc
WHERE last_review IS NOT NULL
SELECT id, name, neighbourhood_group, neighbourhood, room_type, price, number_of_reviews, last_review
FROM data.airbnb_nyc
WHERE last_review IS NULL
2. 테라스 있는 숙소를 찾아보기
- 이름에 'terrace'가 포함되는 숙소
- 데이터가 내가 찾는 값이랑 일치하지는 않으나, 포함하고 있는 경우\
LIKE
- '%terrace%' > 위치에 상관없이 terrace가 들어간 경우
- '%terrace' > terrace로 끝나는 경우
- 'terrace%' > terrace로 시작하는 경우
SELECT id, name, neighbourhood_group, neighbourhood, room_type, price, number_of_reviews, last_review
FROM data.airbnb_nyc
WHERE name LIKE '%terrace%'
UPPER, LOWER
- UPPER : 모두 대문자로 변경
- LOWER : 모두 소문자로 변경
SELECT name, UPPER(name), LOWER(name)
FROM data.airbnb_nyc
SELECT name, UPPER(name) AS upper_name, LOWER(name) AS lower_name
FROM data.airbnb_nyc
SELECT name, UPPER(name) upper_name, LOWER(name) lower_name
FROM data.airbnb_nyc
SELECT id, name, neighbourhood_group, neighbourhood, room_type, price, number_of_reviews, last_review
FROM data.airbnb_nyc
WHERE LOWER(name) LIKE '%terrace%'
SELECT id, name, neighbourhood_group, neighbourhood, room_type, price, number_of_reviews, last_review
FROM data.airbnb_nyc
WHERE UPPER(name) LIKE '%TERRACE%'
3. 테라스 없는 숙소를 찾아보기
SELECT id, name, neighbourhood_group, neighbourhood, room_type, price, number_of_reviews, last_review
FROM data.airbnb_nyc
WHERE UPPER(name) NOT LIKE '%TERRACE%'
4. 3박에 200달러 미만인 숙소 골라내기
SELECT id, name, neighbourhood_group, neighbourhood, room_type, price, number_of_reviews, last_review
FROM data.airbnb_nyc
WHERE price * 3 < 200
WHERE절에는 한 번 가공한 값을 넣어줘도 무방하다
* 현업에서 활용
WHERE email LIKE '%@naver.com'
- 네이버랑 구글 유저 수 구해서 설문조사를 네이버 폼, 구글 폼 중에서 어느것을 선택할지 결정할 수 있다.
WHERE 정리
- > (~ 보다 크다)
- < (~ 보다 작다)
- >= (~보다 크거나 같다)
- <= (~보다 작거나 같다)
- = (~와 같다)
- != (~와 같지 않다)
- A이상 B이하일 때는 BETWEEN A AND B
- 조건을 모두 만족해야 할 때 AND / 둘 중 하나만 만족해도 될 때 OR
- 참고) 여러 조건을 하나로 묶고 싶을 때는 ()를 꼭 쓴다
- 하나의 컬럼을 여러 값과 비교할 때: IN / NOT IN
- NULL 인 값을 구분할 때 : IS NULL / IS NOT NULL
- 특정 값을 포함하고 있을 때 / 있지 않을 때 : LIKE / NOT LIKE
반응형
'Skills > SQL' 카테고리의 다른 글
[SQL] 10. 데이터 합치기 (JOIN) (0) | 2021.08.05 |
---|---|
[SQL] 09. 값을 요약하는 Aggregation 알아보기 (0) | 2021.08.04 |
[SQL] 07. 원하는 조건만 뽑아오기 (WHERE) - 1 (0) | 2021.07.29 |
[SQL] 06. SQL 작성 팁 (0) | 2021.07.29 |
[SQL] 05. 데이터 조회하기 (SELECT) (0) | 2021.07.29 |