본문으로 바로가기
반응형

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

 

반응형