스터디/SQL

[MySQL] ch03_LIKE, NOT LIKE, IN, BETWEEN, IS NULL, IS NOT NULL, DISTINCT

skyggg3 2022. 3. 17. 20:47

본 글은 인프런의 '[백문이불여일타] 데이터 분석을 위한 기초 SQL'강의를 듣고 직접 실습한 내용입니다.

 

[백문이불여일타] 데이터 분석을 위한 기초 SQL - 인프런 | 강의

인프런 누적 수강생 8000명 이상, 풍부한 온/오프라인 강의 경험을 가진 데이터리안의 SQL 기초 강의. SQL 기초 이론을 배우고, 해커랭크 문제 10개를 함께 풀어봅니다., - 강의 소개 | 인프런...

www.inflearn.com

 

Dashboard | HackerRank

Join over 16 million developers in solving code challenges on HackerRank, one of the best ways to prepare for programming interviews.

www.hackerrank.com

 

  • LIKE - 문자열의 패턴 검색
    • % (모든 문자)
    • _ (한 글자)
    • %을 검색하고 싶을 때는 \(이스케이프 문자) 사용
  • NOT LIKE - 특정 패턴을 포함하지 않는 데이터만 조회
  • IN - WHERE 절 내에서 특정값 여러개를 선택하는 연산자, OR과 같은 역할(쿼리문이 길어지기 때문에 IN을 쓰기도 함)
  • BETWEEN - 특정 범위 내에 있는 행만 선택할 수 있는 논리 연산자                                                         BETWEEN 조건1 AND 조건2
  • IS NULL - 테이블 내에 입력되지 않은 데이터는 NULL로 저장이 되며 ‘IS NULL’로 검색                                      NULL, NaN ( 숫자도 문자도 아니고 비어있는 값)
  • IS NOT NULL - 반대로 NULL값이 아닌 행을 검색
  • DISTINCT - 중복값 제거

 


 

해커랭크 문제풀이

 

1. Weather Observation Station 6

SELECT DISTINCT city
FROM station
WHERE city LIKE 'a%' 
OR city LIKE 'e%' 
OR city LIKE 'i%'
OR city LIKE 'o%'
OR city LIKE 'u%';

 

 

2. Weather Observation Station 12

SELECT DISTINCT city
FROM station
WHERE city NOT LIKE 'a%'
AND city NOT LIKE 'e%'
AND city NOT LIKE 'i%'
AND city NOT LIKE 'o%'
AND city NOT LIKE 'u%'
AND city NOT LIKE '%a'
AND city NOT LIKE '%e'
AND city NOT LIKE '%i'
AND city NOT LIKE '%o'
AND city NOT LIKE '%u';