◆ JOIN 구문 > MYSQL

본문 바로가기
사이트 내 전체검색

MYSQL

◆ JOIN 구문

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 278회 작성일 23-12-23 18:13

본문

● 테이블 생성 

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;

         ac837b4b44bac87b86975925c7e87ae9_1629013467_2868.jpg 

mysql> desc song; 

         ac837b4b44bac87b86975925c7e87ae9_1629013576_7048.jpg
 


 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;

         ac837b4b44bac87b86975925c7e87ae9_1629013811_4172.jpg 

mysql> select * from song; 

         ac837b4b44bac87b86975925c7e87ae9_1629013900_7236.jpg 



■ 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;

         ac837b4b44bac87b86975925c7e87ae9_1629014490_4711.jpg


▶ 설명

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; 

         ac837b4b44bac87b86975925c7e87ae9_1629015515_6196.jpg 


▶ 설명 

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;

         ac837b4b44bac87b86975925c7e87ae9_1629015738_3251.jpg 


▶ 설명 

RIGHT 조인은 쿼리문에서 먼저 선언된 오른쪽 테이블이 기준으로 왼쪽 테이블의 데이터를 참조해서 레코드를 표현한다.

값이 존재하지 않을 경우에는 NULL값으로 처리된다.


■ 기타 조인

​mysql> select id, name, (select title from song where id = girlgroup.id) as title from girlgroup;

         ac837b4b44bac87b86975925c7e87ae9_1629015515_6196.jpg 

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

공지사항
자유게시판
질문답변
1:1문의

 

별명 : 터푸가위
주소 : 부산시 동래구 명장로20번길 90
대표 : 박규태
메일 : dancepkt@******.com

접속자집계

오늘
159
어제
226
최대
10,760
전체
285,077
Copyright © dancePKT . All rights reserved.