[TIL] #5 (2022.01.24)

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

TIL

목록 보기
5/15
post-thumbnail

WHERE

WHERE 는 조건식이 참이 되는 row만 선택한다.

조건식

MySQL에서는 true 를 1로 표현한다. false 는 0으로 표현한다.

true, 1

SELECT 1 = 1;

결과 1

false, 0

SELECT 0 = 1;

결과 0

연산자 종류

비교 연산자

값을 비교하는 기호이다.

연산자활용의미예시
=A = BA와 B가 같다1 = 1
!=A != BA와 B가 같지 않다1 != 2
>A > BA가 B보다 크다10 > 1
>=A >= BA가 B보다 크거나 같다10 >= 10
<A < BA가 B보다 작다10 < 100
<=A <= BA가 B보다 작거나 같다10 <= 100

예시 1

# 이름이 'pikachu' 인 포켓몬의 번호 찾기
SELECT number
FROM mypokemon
WHERE name = 'pikachu';

예시 2

# 속도가 50보다 큰 포켓몬의 이름 찾기
SELECT name
FROM mypokemon
WHERE speed > 50;

예시 3

# 전기 타입이 아닌 포켓몬의 이름 찾기
SELECT name
FROM mypokemon
WHERE type != 'electric';

논리 연산자

논리 조건을 적용하는 기호

연산자활용의미
ANDA AND BA와 B 모두 true이면 true
ORA OR BA와 B 둘 중 하나만 true이면 true
NOTNOT AA가 아니면 true

예시 1

# 속도가 100 이하인 전기 타입 포켓몬의 이름 찾기
SELECT name
FROM mypokemon
WHERE speed <= 100 AND type = 'electric';

예시 2

# 벌레 타입이거나 노말 타입인 포켓몬의 이름 찾기
SELECT name
FROM mypokemon
WHERE type = 'bug' OR type = 'normal';

예시 3

# 속도가 100 이하고 벌레 타입이 아닌 포켓몬의 이름 찾기
SELECT name
FROM mypokemon
WHERE speed <= 100 AND NOT(type = 'bug'); ## type != 'bug'도 같은 구문

기타 주요 연산자

  • BETWEEN IN

BETWEEN

특정 범위 내의 데이터를 선택할 때 사용하는 연산자이다.

특징

  • [컬럼 이름] BETWEEN A AND B 형식으로 사용한다.
  • 해당 컬럼 값이 A와 B사이에 포함되는 값을 가진 row만 선택한다.
  • A <= [컬럼 이름] AND [컬럼 이름] <= B 와 동일하다.

예시

SELECT name
FROM mypockmon
WHERE speed BETWEEN 50 AND 100;
# speed >= 50 AND speed <= 100 과 동일하다

IN

목록 내 포함되는 데이터를 선택할 때 사용하는 연산자이다.

특징

  • [컬럼 이름] IN (A, B, ..., C) 형식으로 사용한다.
  • 해당 컬럼이 () 내의 값에 포함되는 값을 가진 row만 선택한다.
  • [컬럼 이름] IN (A, B) 쿼리는 [컬럼 이름] = A OR [컬럼 이름] = B 와 동일하다.
  • 목록에 넣을 값이 여러 개일 대, OR 연산자보다 표현 및 이해가 쉽다.

예시

# 벌레 타입이거나 노말 타입인 포켓몬의 이름 찾기
SELECT name
FROM mypockmon
WHERE type IN ('bug', 'normal');

LIKE

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

0개의 댓글