SELECT column1, column2, ...
FROM tableA, tableB, ...
WHERE condition;
snl_show 에 호스트로 출연한 celeb 을 기준으로 celeb 테이블과 snl_show 테이블을 SELF JOIN
SELECT celeb.id, celeb.name, snl_show.id, snl_show.host
FROM celeb, snl_show
WHERE celeb.name = snl_show.host;
celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고 소속사가 안테나인 사람의 이름과 직업을 검색
내가 적은 답)
SELECT CELEB.ID, CELEB.NAME, SNL_SHOW.ID, SNL_SHOW.HOST
FROM CELEB, SNL_SHOW
WHERE CELEB.NAME = SNL_SHOW.HOST
AND CELEB.AGENCY LIKE '%안테나%';
오답!
풀이)
SELECT celeb.name, celeb.job_title
FROM celeb, snl_show
WHERE celeb.name = snl_show.host AND celeb.agency = '안테나';
celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고 소속사가 안테나인 사람의 이름과 직업을 검색
SELECT name, job_title
FROM celeb
WHERE agency = '안테나';
celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고 소속사가 안테나인 사람의 이름과 직업을 검색
SELECT celeb.name, snl_show.host
FROM celeb, snl_show
WHERE celeb.name = snl_show.host;
celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고 소속사가 안테나인 사람의 이름과 직업을 검색
SELECT celeb.name, celeb.job_title
FROM celeb, snl_show
WHERE celeb.name = snl_show.host AND celeb.agency = '안테나';
celeb 테이블의 연예인 중, snlshow 에 host 로 출연했고, 영화배우는 아니면서 YG 엔터테이먼트 소속이거나 40세 이상이면서 YG 엔터테이먼트 소속이 아닌 연예인의 이름과 나이, 직업, 소속사, 시즌, 에피소드 정보를 검색

내가 적은 답)
SELECT CELEB.NAME, CELEB.AGE, CELEB.JOB_TITLE, CELEB.AGENCY, SNL_SHOW.SEASON, SNL_SHOW.EPISODE
FROM CELEB, SNL_SHOW
WHERE CELEB.NAME = SNL_SHOW.HOST
AND (CELEB.JOB_TITLE != '영화배우' AND CELEB.AGENCY = 'YG엔터테이먼트')
OR (CELEB.AGE >= 40 AND CELEB.AGENCY != 'YG엔터테이먼트');
오답!
풀이)
SELECT celeb.name, celeb.age, celeb.job_title, celeb.agency, snl_show.season, snl_show.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엔터테이먼트'));
celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고, 영화배우는 아니면서 YG 엔터테이먼트 소속이거나 40세 이상이면서 YG 엔터테이먼트 소속이 아닌 연예인의 이름과 나이, 직업, 소속사, 시즌, 에피소드 정보를 검색
SELECT * FROM celeb
WHERE NOT job_title LIKE '영화배우%';
celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고, 영화배우는 아니면서 YG 엔터테이먼트 소속이거나 40세 이상이면서 YG 엔터테이먼트 소속이 아닌 연예인의 이름과 나이, 직업, 소속사, 시즌, 에피소드 정보를 검색
SELECT * FROM celeb
WHERE NOT job_title LIKE '영화배우%' AND agency = 'YG엔터테이먼트';
celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고, 영화배우는 아니면서 YG 엔터테이먼트 소속이거나 40세 이상이면서 YG 엔터테이먼트 소속이 아닌 연예인의 이름과 나이, 직업, 소속사, 시즌, 에피소드 정보를 검색
SELECT * FROM celeb
WHERE age >= 40;
celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고, 영화배우는 아니면서 YG 엔터테이먼트 소속이거나 40세 이상이면서 YG 엔터테이먼트 소속이 아닌 연예인의 이름과 나이, 직업, 소속사, 시즌, 에피소드 정보를 검색
SELECT * FROM celeb
WHERE age >= 40 AND agency != '%YG엔터테이먼트';
celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고, 영화배우는 아니면서 YG 엔터테이먼트 소속이거나 40세 이상이면서 YG 엔터테이먼트 소속이 아닌 연예인의 이름과 나이, 직업, 소속사 정보, 시즌, 에피소드를 검색
SELECT celeb.id, celeb.name, snl_show.host
FROM celeb, snl_show
WHERE celeb.name = snl_show.host;
celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고, 영화배우는 아니면서 YG 엔터테이먼트 소속이거나 40세 이상이면서 YG 엔터테이먼트 소속이 아닌 연예인의 이름과 나이, 직업, 소속사 정보, 시즌, 에피소드를 검색
SELECT celeb.id, celeb.name, snl_show.host
FROM celeb, snl_show
WHERE celeb.name = snl_show.host
AND NOT job_title LIKE '%영화배우%' AND agency = 'YG엔터테이먼트';
celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고, 영화배우는 아니면서 YG 엔터테이먼트 소속이거나 40세 이상이면서 YG 엔터테이먼트 소속이 아닌 연예인의 이름과 나이, 직업, 소속사 정보, 시즌, 에피소드를 검색 (에러)
SELECT celeb.name, celeb.age, celeb.job_title, celeb.agency, snl_show.season, snl_show.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엔터테이먼트';
celeb 테이블의 연예인 중, snl_show 에 host 로 출연했고, 영화배우는 아니면서 YG 엔터테이먼트 소속이거나 40세 이상이면서 YG 엔터테이먼트 소속이 아닌 연예인의 이름과 나이, 직업, 소속사 정보, 시즌, 에피소드를 검색
SELECT celeb.name, celeb.age, celeb.job_title, celeb.agency, snl_show.season, snl_show.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엔터테이먼트'));
snlshow 에 출연한 연예인의 snl_show 아이디, 시즌, 에피소드, 이름, 직업 정보를 검색

내가 적은 답)
SELECT SNL_SHOW.ID, SNL_SHOW.SEASON, SNL_SHOW.EPISODE, SNL_SHOW.HOST, CELEB.JOB_TITLE
FROM CELEB, SNL_SHOW
WHERE CELEB.NAME = SNL_SHOW.HOST;
정답?
풀이)
SELECT SNL_SHOW.ID, SNL_SHOW.SEASON, SNL_SHOW.EPISODE, CELEB.NAME, CELEB.JOB_TITLE
FROM CELEB, SNL_SHOW
WHERE CELEB.NAME = SNL_SHOW.HOST;
SELECT snl_show.id, snl_show.season, snl_show.episode, celeb.name, celeb.job_title
FROM celeb, snl_show
WHERE celeb.name = snl_show.host;
SELECT id, season, episode, name, job_title
FROM celeb, snl_show
WHERE name = host;
SELECT snl_show.id, season, episode, name, job_title
FROM celeb, snl_show
WHERE name = host;
snl_show 에 출연한 celeb 중, 에피소드 7, 9, 10 중에 출연했거나
소속사가 YG로 시작하고 뒤에 6글자로 끝나는 사람 중 작년 9월15일 이후에 출연했던 사람을 검색
내가 적은 답)
SELECT CELEB.NAME, CELEB.AGENCY, SNL_SHOW.EPISODE, SNL_SHOW.BROADCAST_DATE
FROM CELEB, SNL_SHOW
WHERE CELEB.NAME = SNL_SHOW.HOST
AND ((SNL_SHOW.EPISODE IN (7, 9, 10) OR CELEB.AGENCY LIKE 'YG______')
AND SNL_SHOW.BROADCAST_DATE >= '2020-09-15');
정답! -> 강의교안에는 'SEASON'칼럼에 대한 언급은 없기 때문에 SELECT절에 넣지 않았음.
풀이)
SELECT name, season, episode, broadcast_date, agency
FROM celeb, snl_show
WHERE name = host
AND (episode IN (7, 9, 10) OR agency like 'YG______')
AND broadcast_date > '2020-09-15';
snl_show 에 출연한 celeb 중, 에피소드 7, 9, 10 중에 출연했거나
소속사가 YG로 시작하고 뒤에 6글자로 끝나는 사람 중 작년 9월 15일 이후에 출연했던 사람을 검색
SELECT name, season, episode, broadcast_date, agency
FROM celeb, snl_show
WHERE name = host;
snl_show 에 출연한 celeb 중, 에피소드 7, 9, 10 중에 출연했거나 소속사가 YG로 시작하고 뒤에 6글자로 끝나는 사람 중 작년 9월 15일 이후에 출연했던 사람을 검색
SELECT name, season, episode, broadcast_date, agency
FROM celeb, snl_show
WHERE name = host AND episode IN (7, 9, 10);
snl_show 에 출연한 celeb 중, 에피소드 7, 9, 10 중에 출연했거나
소속사가 YG로 시작하고 뒤에 6글자로 끝나는 사람 중 작년 9월 15일 이후에 출연했던 사람을 검색
SELECT name, season, episode, broadcast_date, agency
FROM celeb, snl_show
WHERE name = host AND agency like 'YG______';
snl_show 에 출연한 celeb 중, 에피소드 7, 9, 10 중에 출연했거나 소속사가 YG로 시작하고 뒤에 6글자로 끝나는 사람 중 작년 9월 15일 이후에 출연했던 사람을 검색 (에러)
SELECT name, season, episode, broadcast_date, agency
FROM celeb, snl_show
WHERE name = host AND episode IN (7, 9, 10) OR agency like 'YG______';
snl_show 에 출연한 celeb 중, 에피소드 7, 9, 10 중에 출연했거나
소속사가 YG로 시작하고 뒤에 6글자로 끝나는 사람 중 작년 9월 15일 이후에 출연했던 사람을 검색
SELECT name, season, episode, broadcast_date, agency
FROM celeb, snl_show
WHERE name = host AND (episode IN (7, 9, 10) OR agency like 'YG______');
snl_show 에 출연한 celeb 중, 에피소드 7, 9, 10 중에 출연했거나
소속사가 YG로 시작하고 뒤에 6글자로 끝나는 사람 중 작년 9월 15일 이후에 출연했던 사람을 검색
SELECT name, season, episode, broadcast_date, agency
FROM celeb, snl_show
WHERE name = host AND broadcast_date > '2020-09-15';
snl_show 에 출연한 celeb 중, 에피소드 7, 9, 10 중에 출연했거나
소속사가 YG로 시작하고 뒤에 6글자로 끝나는 사람 중 작년 9월 15일 이후에 출연했던 사람을 검색
SELECT name, season, episode, broadcast_date, agency
FROM celeb, snl_show
WHERE name = host
AND (episode IN (7, 9, 10) OR agency like 'YG______')
AND broadcast_date > '2020-09-15';
내가 쓴 답)
SELECT CELEB.ID, CELEB.JOB_TITLE, SNL_SHOW.SEASON, SNL_SHOW.EPISODE
FROM CELEB, SNL_SHOW
WHERE CELEB.NAME = SNL_SHOW.HOST
AND (JOB_TITLE NOT LIKE '%영화배우%' OR JOB_TITLE NOT LIKE '%텔런트%');
오답!
풀이)
SELECT CELEB.ID, NAME, JOB_TITLE, SEASON, EPISODE
FROM CELEB, SNL_SHOW
WHERE NAME = HOST
AND NOT (JOB_TITLE LIKE '%영화배우%' OR JOB_TITLE LIKE '%텔런트%');
내가 쓴 답)
SELECT CELEB.ID, NAME, JOB_TITLE, AGENCY
FROM CELEB, SNL_SHOW
WHERE NAME = HOST
AND (BROADCAST_DATE >= '2020-09-15' OR NOT AGENCY LIKE '%엔터테이먼트')
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;
SELECT CELEB.ID, NAME, JOB_TITLE, AGENCY
FROM CELEB, SNL_SHOW
WHERE CELEB.NAME = SNL_SHOW.HOST
AND BROADCAST_DATE >= '2020-09-15';
SELECT CELEB.ID, NAME, JOB_TITLE, AGENCY
FROM CELEB, SNL_SHOW
WHERE CELEB.NAME = SNL_SHOW.HOST
AND (BROADCAST_DATE >= '2020-09-15'
OR NOT AGENCY LIKE '%엔터테이먼트');
SELECT CELEB.ID, NAME, JOB_TITLE, AGENCY
FROM CELEB, SNL_SHOW
WHERE NAME = HOST
AND NOT (JOB_TITLE LIKE '%영화배우%' OR JOB_TITLE LIKE '%개그맨%');
SELECT CELEB.ID, NAME, JOB_TITLE, AGENCY
FROM CELEB, SNL_SHOW
WHERE NAME = HOST
AND (BROADCAST_DATE > '2020-09-15' OR NOT AGENCY LIKE '%엔터테이먼트')
AND NOT (JOB_TITLE LIKE '%영화배우%' OR JOB_TITLE LIKE '%개그맨%');