[TIL] #6 (2022.01.25)

어느 개발자·2022년 1월 25일
0

TIL

목록 보기
6/15
post-thumbnail

LIKE

특정 문자열이 포함된 데이터를 선택하는 연산자

특징

  • [컬럼 이름] LIKE [검색할 문자열] 형식으로 사용한다.
  • 해당 컬럼 값이 [검색할 문자열] 을 포함하고 있는 row만 선택한다.
  • [검색할 문자열] 내에 와일드카드를 사용하여 검색 조건을 구체적으로 표현할 수 있다.

와일드 카드

  • % 0개 이상의 문자
  • _ 1개의 문자

몇 개의 문자일까요?

  • % 0개의 문자 = 알 수 없음
  • _ 1개
  • __ 2개
  • _% 1개 이상의 문자 = 알 수 없음

% 사용 예제

  • %e e로 끝나는 문자열
    e, ee, eevee, apple, pineapple

  • e% e로 시작하는 문자열
    e, ee, eevee, eric

  • %e% e가 포함된 문자열
    e, ee, eevee, apple, pineapple, aespa


_ 사용 예제

  • _e e로 끝나고 e 앞에 1개의 문자가 있는 문자열
    ae,ee, ce

  • %_e e로 끝나고 e 앞에 1개 이상의 문자가 있는 문자열
    ee, eevee, apple, pineapple

  • %_e_% e를 포함하고 e 앞뒤로 각각 1개 이상의 문자가 있는 문자열
    eevee, aespa

LIKE 문법

SELECT [컬럼 이름]
FROM [테이블 이름]
WHERE [컬럼 이름] LIKE [검색할 문자열];

LIKE 사용 예제

예제 1

# 이름이 'chu'로 끝나는 포켓몬의 이름 찾기
SELECT name
FROM mypokemon
WHERE name LIKE '%chu';

예제 2

# 이름에 'a'가 포함되지만 'a'로 끝나지 않는 포켓몬의 이름 찾기
SELECT name
FROM mypokemon
WHERE name LIKE '%a_%'; # '%a_%' 는 '%a%_' 로 쓸 수도 있다. 

NULL

  • 데이터 값이 존재하지 않는다는 표현
  • 0 이나 공백이 아닌 알 수 없는 값 을 의미

IS NULL

  • 데이터가 NULL인지 아닌지를 확인하는 연산자

특징

  • [컬럼 이름] IS NULL 형식으로 사용한다.
  • 해당 컬럼이 NULL인 row만 선택한다.
  • NULL이 아닌 데이터를 검색하고 싶다면 IS NOT NULL 을 사용한다.
  • [컬럼 이름] = NULL 또는 [컬럼 이름] != NULL 과 같은 표현은 사용하지 않는다.

IS NULL 문법

SELECT [컬럼 이름]
FROM [테이블 이름]
WHERE [컬럼 이름] IS NULL;

IS NULL 사용 예제

SELECT name
FROM mypokemon
WHERE type IS NULL;

IS NOT NULL 사용 예제

SELECT name
FROM mypokemon
WHERE type IS NOT NULL;

0개의 댓글