use zerobase;
desc celeb;
select * from celeb;
create table test1( no int );
create table test2( no int);
show tables;
insert into test1 values (1);
insert into test1 values (2);
insert into test1 values (3);
insert into test2 values (5);
insert into test2 values (6);
insert into test2 values (3);
select * from test1;
select * from test2;
select column1, column2, ... from tableA
union | union all
select column1, column2, ... from tableB
select * from test1 union all select * from test2;
select * from test1 union select * from test2;
select name, sex, agency from celeb where sex = 'F' union all select name, sex, agency from celeb where agency='YG엔터테이먼트';
select name, sex, agency from celeb where sex = 'F' union select name, sex, agency from celeb where agency='YG엔 터테이먼트';
select name, job_title from celeb where job_title like '%가수%' union select name, birthday, age from celeb where birthday between '1980-01-01' and '1980-12-31';
select name, birthday, age from celeb where job_title like '%가수%' union select name, birthday, age from celeb where job_title like '%텔런트%';
select name, birthday from celeb where name like '이%' union all select name, birthday from celeb where birthday between '1970-01-01' and '1979-12-31';
use zerobase;
desc celeb;
select * from celeb;
create table snl_show(
ID int not null auto_increment primary key,
SEASON int not null,
EPISODE int not null,
BROADCAST_DATE date,
HOST varchar(32) not null);
desc snl_show;
insert into snl_show values (1, 8, 7, '2022-09-05', '강동원');
insert into snl_show values (2, 8, 8, '2020-09-12', '유재석');
insert into snl_show values (3, 8, 9, '2020-09-19', '차승원');
insert into snl_show values (4, 8, 10, '2020-09-26', '이수현');
insert into snl_show values (5, 9, 1, '2021-09-04', '이병헌');
insert into snl_show values (6, 9, 2, '2021-09-11', '하지원');
insert into snl_show values (7, 9, 3, '2021-09-18', '제시');
insert into snl_show values (8, 9, 4, '2021-09-25', '조정석');
insert into snl_show values (9, 9, 5, '2021-10-02', '조여정');
insert into snl_show values (10, 9, 6, '2021-10-09', '옥주현');
select * from snl_show;
select * from snl_show;
select column1, column2, ...
from tableA
inner join tableB
on tableA.column = tableB.column
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;
<br><br>
select column1, column2, ...
from tableA
left join tableB
on tableA.column = tableB.column
where condition;
select celeb.id, celeb.name, snl_show.id, snl_show.host from celeb left join snl_show on celeb.name = snl_show.host;
select column1, column2, ...
from tableA
right join tableB
on tableA.column = tableB.column
where condition;
select celeb.id, celeb.name, snl_show.id, snl_show.host from celeb right join snl_show on celeb.name = snl_show.host;
full outer join : 두 개의 테이블에서 공통영역을 포함하여 양쪽 테이블의 다른 영역을 모두 포함하는 조인방식
MySQL에서는 FULL JOIN을 지원하지 않는다
아래 코드 안됨
select column1, column2, ...
from tableA
full outer join tableB
on tableA.column = tableB.column
where conditon
select column1, column2, ...
from tableA
left join tableB on tableA.column = tableB.column
union
select column1, column2, ...
from tableA
right join tableB on tableA.column = tableB.column
where condition;
select celeb.id, celeb.name, snl_show.id, snl_show.host from celeb left join snl_show on celeb.name = snl_show.host
union
select celeb.id, celeb.name, snl_show.id, snl_show.host from celeb right join snl_show on celeb.name = snl_show.host;
select column1, column2, ...
from tableA, tableB, ...
where conditon;
select celeb.id, celeb.name, snl_show.id, snl_show.host from
celeb, snl_show where celeb.name = snl_show.host;
select name, job_title from celeb, snl_show
where celeb.name = snl_show.host and agency = '안테나';
select name, age, job_title, agency, season, episode from celeb, snl_show
where celeb.name = snl_show.host
and (
(not job_title like '%영화배우%' and agency = 'YG엔터테이먼트')
or (age >= 40 and agency != 'YG엔터테이먼트')
);
select snl_show.ID, season, episode, name, job_title
from celeb, snl_show where celeb.name = snl_show.host;
select name, season, episode, broadcast_date, agency from celeb, snl_show
where celeb.name = snl_show.host
and (episode in (7, 8, 10) or agency like 'YG______')
and broadcast_date > '2020-09-15';
select celeb.id, name, job_title, season, episode from celeb, snl_show
where celeb.name = snl_show.host
and not (job_title like '%영화배우%' or job_title like '텔런트');
select celeb.id, name, job_title, agency from celeb, snl_show
where celeb.name = snl_show.host
and (broadcast_date > '2020-09-15' or agency not like '%엔터테이먼트')
and not (job_title like '%개그맨%' or job_title like '%영화배우%');
use zerobase;
desc celeb;
select * from celeb;
select * from snl_show;
select concat('sting1', 'string2', ...);
select concat('concat', ' ', 'test');
select concat('이름: ', name) from celeb;
select column as alias
from tablename;
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
concat(s.season, '-', s.episode, ' ( ', s.broadcast_date, ' )') as '방송정보',
concat( name, ' ( ', job_title, ' )') as '출연자정보'
from celeb as c, snl_show as s where c.name = s.host;
select concat(s.season, '-', s.episode, ' ( ', s.broadcast_date, ' )') '방송정보', concat( name, ' ( ', job_title, ' )') '출연자정보' from celeb as c, snl_show as s where c.name = s.host;
select concat('이름 : ', name, ' , 소속사 : ', agency) as '연예인정보'
from celeb;
select
c.agency as '소속사정보',
concat('나이 : ', c.age, '(', c.sex, ')') as '신상정보',
concat(s.season, '-', s.episode, ' , 방송날짜 : ', s.broadcast_date) as '출연정보'
from celeb as c, snl_show as s
where c.name = s.host
and c.agency like '__엔터테이먼트'
order by broadcast_date desc;
select distinct column1, column2, ...
from tablename;
select agency from celeb;
select distinct agency from celeb;
select sex, job_title from celeb
where job_title like '%가수%';
select distinct sex, job_title from celeb
where job_title like '%가수%';
select distinct sex, agency from celeb order by sex, agency;
select column1, column2, ...
from tablename
where codition
limit number;
select * from celeb limit 3;
select * from celeb order by age asc limit 4;
select * from celeb where sex = 'M' order by age desc limit 2;
select
concat('SNL 시즌 ', s.season, ' 에피소드 ', s.episode, ' 호스트 ', s.host) as 'SNL 방송정보', age
from celeb as c
inner join snl_show as s on c.name = s.host
order by age desc
limit 2;
💻 출처 : 제로베이스 데이터 취업 스쿨