우선순위는 NOT, AND, OR입니다. and는 곱으로, or는 덧셈으로 이해하시면 계산이 쉽습니다. 뒤에서 나올 비교 연산자, WHERE 조건절
을 미리 사용하였습니다. 비교 연산자는 같다(=
), 다르다(!=
), 크다(>
), 작다(<
)를 표현하는 연산자입니다.
기본실습
SELECT true AND true;
SELECT true AND false;
SELECT true OR false;
SELECT true OR false;
SELECT NOT true;
SELECT NOT false;
AND - 모든 조건을 만족한 레코드를 조회합니다.
select * from `thelook_ecommerce.users`
where id < 10000
and first_name = 'David'
OR - 조건을 하나라도 만족한 레코드를 조회 합니다.
select * from `thelook_ecommerce.users`
where age < 20
or age > 60
select * from `thelook_ecommerce.users`
where first_name = 'David'
and (age < 20 or age > 60)
NOT - 조건 값이 아닌 레코드를 조회합니다.
select * from `thelook_ecommerce.users`
where NOT(country = 'United States')
select * from `thelook_ecommerce.users`
where NOT(country = 'United States' or country = 'Brasil');
between A AND B : A와 B를 포함한 사이의 값
select *
from `thelook_ecommerce.users`
where age between 20 and 30
select *
from `thelook_ecommerce.users`
where age>=20 and age<=30
1월 가입한 유저를 조회하고 싶은 경우
select *
from thelook_ecommerce.users
where created_at between '2020-01-01' and '2020-02-01'
아래와 같은 경우, 2020-01-01 00:00:00 부터 2020-01-31 00:00:00 사이를 조회하기 때문에 2020-01-31일의 값은 조회할 수 없습니다.
select *
from thelook_ecommerce.users
where created_at between '2020-01-01' and '2020-01-31'
IN A : A안에 값과 일치하는 값을 조회
select *
from `thelook_ecommerce.products`
where brand in ('Onia', 'Hurley', 'Matix');