use zerobase;
desc celeb;
연산자 | 의미 |
---|---|
A = B | A와 B가 같은 |
A > B | A와 B보다 큰 (초과) |
A < B | A와 B보다 작은 (미만) |
A >= B | A가 B보다 크거나 같은 (이상) |
A <= B | A가 B보다 작거나 같은 (이하) |
A <> B | A가 B보다 크거나 작은 (같지 않은) |
A != B | A와 B가 같지 않은 |
(A <> B 와 A != B은 동일하다.)
나이가 29세인 데이터 검색
select name, age
from celeb
where age=29
order by age;
select name, age
from celeb
where age!=29
order by age;
select name, age
from celeb
where age>29
order by age;
select name, age
from celeb
where age<29
order by age;
select name, age
from celeb
where age>=29
order by age;
select name, age
from celeb
where age<=29
order by age;
select name, age
from celeb
where age<>29
order by age;
연산자 | 의미 |
---|---|
AND | 조건을 모두 만족하는 경우 TRUE |
OR | 하나이 조건이라도 만족하는 경우 TRUE |
NOT | 조건을 만족하지 않는 경우 TRUE |
BETWEEN | 조건값이 범위 사이에 있으면 TRUE |
IN | 조건값이 목록에 있으면 TRUE |
LIKE | 조건값이 패턴에 맞으면 TRUE |
select *
from celeb
where age=29 AND sex='F';
select *
from celeb
where sex='M' AND age>40
order by name;
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='나무엑터스')
and age<30;
select *
from celeb
where NOT sex='F';
select *
from celeb
where (agency='YG엔터테이먼트' AND NOT sex='M')
OR (job_title='가수' AND NOT agency='YG엔터테이먼트');
select *
from celeb
where (birthday > 19891231 AND NOT sex='F')
OR (birthday < 19800101 AND NOT agency='안테나');
select * from celeb where age BETWEEN 20 AND 40;
select * from celeb where age>=20 AND age<=40;
select * form 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);
select * from celeb where age-28 OR age=48;
select * from celeb
where NOT agency IN ('나무엑터스', '안테나', '울림엔터테이먼트')
AND (sex='F' OR age>=45);
select * from celeb
where agency LIKE 'YG%';
select * from celeb
where agency LIKE '%엔터테이먼트';
select * from celeb
where job_title LIKE '%가수%';
select * from celeb
where agency LIKE '_G%';
select * from celeb
where job_title LIKE '가____%';
select * from celeb
where job_title LIKE '영%모델';
select * from celeb
where job_title LIKE '%영화배우%' AND job_title LIKE '%텔런트%';
select * from celeb
where job_title LIKE '%,%'
AND NOT (job_title LIKE '%영화배우%' OR job_title LIKE '%텔런트%');
1) celeb 테이블에서 직업중 가수가 포함되어 있고 성이 이씨인 데이터를 조회하세요.
select *
from celeb
where job_title LIKE '%가수%'
AND name LIKE '이%';
2) celeb 테이블에서 성별이 남자 이거나 직업명이 '텔런트'로 끝나면서 최소 5글자 이상인 데이터를 조회하세요.
select *
from celeb
where sex='M'
OR (job_title LIKE '%텔런트' AND '_____%');
3) celeb 테이블에서 이름이 두글자인 데이터를 조회하세요.
select *
from celeb
where name LIKE '__';
4) celeb 테이블에서 나이가 30세 이상 50세 이하면서 개그맨이 아닌 데이터를 조회하세요.
select *
from celeb
where age BETWEEN 30 AND 50
AND NOT job_title='개그맨';
5) celab 테이블에서 아이유, 이미주, 송강, 이수현 중에 가수만 직업으로 가졌거나,
가수를 병행하지 않고 텔런트를 하는 사람을 찾으세요.
select *
from celeb
where name IN ('아이유', '이미주', '송강', '이수현')
AND (job_title LIKE '가수' OR (NOT job_title LIKE '%가수%' AND job_title LIKE '%텔런트%'));