◆ JOIN 구문
페이지 정보

본문
● 테이블 생성
mysql> CREATE TABLE girlgroup (
id VARCHAR(20) NOT NULL PRIMARY KEY,
name VARCHAR(20),
attach VARCHAR(20),
signdate VARCHAR(10)
);
mysql> CREATE TABLE song (
id VARCHAR(20) NOT NULL PRIMARY KEY,
title VARCHAR(20)
);
mysql> desc girlgroup;
mysql> desc song;
● INSERT
INSERT INTO girlgroup VALUES ('11', '블랙핑크','YG','2016-08-08');
INSERT INTO girlgroup VALUES ('22', '트와이스','JYP','2015-10-20');
INSERT INTO girlgroup VALUES ('33', '오마이걸','WM','2015-04-21');
INSERT INTO girlgroup VALUES ('44', '레드벨뱃','SM','2014-08-01');
INSERT INTO girlgroup VALUES ('55', '스테이씨','하이업','2020-01-23');
INSERT INTO girlgroup VALUES ('66', '에스파','SM','2020-11-17');
INSERT INTO girlgroup VALUES ('77', '위클리','플레이엠','2020-06-30');
INSERT INTO song VALUES ('11', '휘파람');
INSERT INTO song VALUES ('22', '우아하게');
INSERT INTO song VALUES ('33', 'CUPID');
INSERT INTO song VALUES ('44', '행복');
INSERT INTO song VALUES ('77', 'GEE');
INSERT INTO song VALUES ('88', '응응');
INSERT INTO song VALUES ('99', '라비앙로즈');
● 정상적으로 입력되었는지 확인
mysql> select * from girlgroup;
mysql> select * from song;
■ INNER 조인 ( INNER 조인은 우리가 생각하는 일반적인 용도에 사용한다. )
mysql> SELECT gg.id, gg.name, s.title FROM girlgroup AS gg JOIN song AS s ON gg.id = s.id;
mysql> SELECT gg.id, gg.name, s.title FROM girlgroup AS gg JOIN song AS s WHERE gg.id = s.id;
▶ 설명
ON 대신 WHERE를 쓸 수 있다.
INNER 조인은 MySQL에서는 간략히 JOIN으로 나타낸다.
일반적으로 사용하는 JOIN 이다.
핵심은 JOIN뒤에 ON인데, 두 테이블이 결합하는 조건을 나타낸다.
두 테이블 모두 노래의 id를 가지고 있으며, 서로 모두 포함하는 레코드를 합쳐서 표현한다.
'응응' , '라비앙로즈' 라는 곡의 id의 값은 girl_group 테이블에 존재하지 않기 때문에 나오지 않는다.
■ LEFT OUTER 조인
mysql> SELECT gg.id, gg.name, s.title FROM girlgroup AS gg LEFT JOIN song AS s ON s.id = gg.id;
▶ 설명
LEFT 조인은 쿼리문에서 먼저 선언된 왼쪽 테이블이 기준으로 오른쪽 테이블의 데이터를 참조해서 레코드를 표현한다.
값이 존재하지 않을 경우에는 NULL값으로 처리된다.
■ RIGHT OUTER 조인
mysql> SELECT gg.id, gg.name, s.title FROM girlgroup AS gg RIGHT JOIN song AS s ON s.id = gg.id;
▶ 설명
RIGHT 조인은 쿼리문에서 먼저 선언된 오른쪽 테이블이 기준으로 왼쪽 테이블의 데이터를 참조해서 레코드를 표현한다.
값이 존재하지 않을 경우에는 NULL값으로 처리된다.
■ 기타 조인
mysql> select id, name, (select title from song where id = girlgroup.id) as title from girlgroup;
- 이전글◆ GROUP BY 구문 23.12.23
- 다음글■ Select (검색) 구문 23.12.23
댓글목록
등록된 댓글이 없습니다.