여러개의 SQL문을 합쳐서 하나의 SQL문으로 만들어주는 방법(단, 컬럼의 개수가 같아야 함)
UNION : 중복된 값을 제거하여 결합
UNION ALL : 중복된 값도 모두 결합
select column1, column2, --- from tableA
UNION | UNION ALL
select column1, column2, --- from tableB;
select * from test1 union all select * from test2;
두 개 이상의 테이블을 결합하는 것
1) inner join : 테이블의 공통된 요소들을 통해 결합하는 조인
select column1, column2, ---
from tableA
inner join tableB
on tableA.column = tableB.column #Join의 기준열
where condition;
select celeb.id, celeb.name, snl_show.id, snl_show.host
from celeb
inner join snl_show
on celeb.name = snl_show.host;
table.Column
2) left join : 왼쪽 테이블의 다른 데이터를 포함하는 조인
select column1, column2, ---
from tableA
left join tableB
on tableA.column = tableB.column #Join의 기준열
where condition;
3) right join : 오른쪽 테이블의 다른 데이터를 포함하는 조인
select column1, column2, ---
from tableA
right join tableB
on tableA.column = tableB.column
where condition;
4) full outer join : 두 개의 테이블의 모든 영억을 포함하는 조인
select column1, column2, ---
from tableA
full outer join tableB
on tableA.column = tableB.column
where condition;
MySql에서는 지원하지 않음
5) self join :
select column1, column2, ---
from tableA, tableB, ---
where condition;
여러 문자열을 하나로 합치거나 연결
select concat('concat', ' ', 'test');
select concat('이름:', name) from celeb;
컬럼이나 테이블에 별칭 생성
1) 컬럼 별칭
select column as alias
from tablename
2) 테이블 별칭
select column as alias
from tablename as alias
select name as '이름' from celeb;
select name as '이름', agency as '소속사' from celeb;
select concat(name, ' : ', job_title) as profile from celeb;
select s.season, s.episode, c.name, c.job_title
from celeb as c, snl_show as s
where c.name = s.host;
중복값 제거 후 출력
select distinct * from tablename
불러오는 데이터 개수 제한
select * from tablename limit 3
select * from tablename order by age asc limit 3