SELECT 문에서 데이터를 특정 컬럼을 기준으로 오름차순 혹은 내림차순 정렬
select column1, column2, ...
from table_name
order by column1, column2, ... asc | desc;
AND : 두 조건을 모두 만족하는 경우 TRUE
select column1, column2, ...
from table_name
where condition1 and condition2 and condition3 ...;
ex) celeb 테이블에서 성별이 남자이고 나이가 40보다 큰 데이터를 이름의 역순으로 정렬하여 검색
select * from celeb where sex='M' and age>40 order by name;
OR : 하나의 조건이라도 만족하는 경우 TRUE
select column1, column2, ...
from table_name
where condition1 or condition2 or condition3 ...;
ex) celeb 테이블에서 YG엔터테이먼트 소속이거나 나무엑터스 소속인 연예인 중, 나이가 30세보다 작은 데이터를 검색
select * from celeb where (agnecy='YG엔터테이먼트' or agency='나무엑터스') and age<30;
*괄호로 먼저 처리할 or문을 묶어주지 않으면 우선순위 연산자인 and문이 먼저 실행 되므로 에러발생
NOT : 조건을 만족하지 않는 경우 TRUE
select column1, column2, ...
from table_name
where not condition;
ex) celeb 테이블에서 생일이 1990년 이후이면서 여자가 아니거나, 생일이 1979년 이전이면서 소속사가 안테나가 아닌 데이터를 검색
select * from celeb where (birtyday > 19891231 and not sex='F') or (birthday < 19800101 and not agency='안테나');
BETWEEN : 조건값이 범위 사이에 있으면 TRUE
select column1, column2, ...
from table_name
where column1 between value1 and value2;
ex) celeb 테이블에서 나이가 20세에서 40세 사이인 데이터를 검색
select * from celeb where age between 20 and 40;
= select * from celeb where age >= 20 and age <= 40;
IN : 목록 안에 조건값이 존재하는 경우 TRUE
select column1, column2, ...
from table_name
where column in (value1, value2,...);
ex) celeb 테이블에서 나이가 28세, 48세 중 하나인 데이터를 검색
select * from celeb where age in (28, 48);
= select * from celeb where age=28 or age=48;
LIKE : 조건값이 패턴에 맞으면 TRUE
select column1, column2, ...
from table_name
where column like pettern;
ex) celeb 테이블에서 'YG'로 시작하는 소속사 이름을 가진 데이터를 검색
select * from celeb where agency like 'YG%';
ex) celeb 테이블에서 '엔터테이먼트'로 끝나는 소속사 이름을 가진 데이터를 검색
select * from celeb where agency like '%엔터테이먼트';
ex) celeb 테이블에서 직업명에 '가수'가 포함된 데이터를 검색
select * from celeb where job_title like '%가수%';
ex) celeb 테이블에서 직업명이 '가'로 시작하고 최소 5글자 이상인 데이터를 검색
select * from celeb where job_title like '가____%';
ex) celeb 테이블에서 직업이 두개 이상인 연예인 중 영화배우 혹은 탤런트가 아닌 데이터를 검색
select * from celeb where job_title like '%,%' and not (job_title like '%영화배우%' or job_title like '%탤런트%');