(참고) 연산자 우선순위
select age, name from celeb where age=29 order by age;
select age, name from celeb where age!=29 order by age;
select age, name from celeb where age>29 order by age;
select age, name from celeb where age>=29 order by age;
# <> : 같지 않다
select age, name from celeb where age<>29 order by age;
select sex, agency, name, age
from celeb
where age < 50
order by sex, agency desc, name;
select * from celeb where age=29 and sex='F';
select * from celeb where sex='M' and age>=30 order by age;
select * from celeb
where age<25 or age>30
order by age;
select * from celeb
where (age<29 and sex='F') or (age>30 and sex='M')
order by age, sex;
select * from celeb
where (agency='YG' or agency='namu') and age<30;
select * from celeb
where ((id % 2) = 1 and sex='M') or ((id % 2) = 0 and agency='YG')
order by agency;
select * from celeb where not sex='F';
select * from celeb
where (agency='YG' and not sex='M') or (job_title='singer' and not agency='YG');
# 생일이 1990년 이후이면서 여자가 아닌 데이터
select * from celeb where birthday > 19891231 and not sex='F';
# 생일이 1979년 이전이면서 소속사가 안테나가 아닌 데이터
select * from celeb where birthday < 19800101 and not agency='antenna';
# 같은 결과
select * from celeb where age between 20 and 40;
select * from celeb where age >= 20 and age <= 40;
select * from celeb
where (not birthday between 19800101 and 19951231 and sex='F')
or (agency='YG' and not age between 20 and 45);
select * from celeb where age in (28, 48);
# 소속사가 나무, 안테나, 울림이 아니면서, 성별이 여자이거나 나이가 45세 이상
select * from celeb
where not agency in ('namu', 'antenna', 'woollim')
and (sex='F' or age >= 45);
# Y로 시작하는 소속사 이름을 가진 데이터
select * from celeb where agency like 'Y%';
# G로 끝나는 소속사 이름을 가진 데이터
select * from celeb where agency like '%G';
# 직업명에 singer가 포함된 데이터
select * from celeb where job_title like '%singer%';
# 소속사 이름의 두 번째 글자가 G인 데이터
select * from celeb where agency like '_G%';
select * from celeb where agency like '_g%';
# 소속사 이름의 세 번째 글자가 o인 데이터
select * from celeb where agency like '__o%';
# 직업명이 s로 시작하고 최소 2글자 이상인 데이터
select * from celeb where job_title like 's_%';
# 직업명이 singer로 시작하고 최소 7글자 이상인 데이터
select * from celeb where job_title like 'singer_%';
# 직업명이 a로 시작하고 l로 끝나는 데이터
select * from celeb where job_title like 'a%l';
# actor와 talent를 병행하는 데이터
select * from celeb
where job_title like '%actor%' and job_title like '%talent%';
# 직업이 둘 이상인 연예인 중 actor 또는 talent가 아닌 데이터
select * from celeb
where job_title like '%,%'
and not (job_title like '%actor%' or job_title like '%talent%');
# 소속사 이름이 두 글자인 데이터
select * from celeb
where agency like '__';
# 나이가 30세 이상 50세 이하면서 comedian이 아닌 데이터
select * from celeb
where age between 30 and 50 and not job_title like "%comedian%";
select * from celeb
where age between 30 and 50 and job_title not like "%comedian%";
# a, b, c, g 중에서
# 직업으로 singer만 가졌거나, singer를 병행하지 않고 talent 하는 데이터
select * from celeb
where name in ('a', 'b', 'c', 'g')
and (job_title = 'singer'
or (job_title not like '%singer%' and job_title like '%talent%'));