LEFT/RIGHT JOIN 기본 사용법

JooKit 주킷 2021. 3. 24. 01:41
목차 접기
728x90
반응형

사람 테이블 생성

CREATE TABLE Person(
    id INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
    `name` CHAR(100) NOT NULL,
    age INT(10) UNSIGNED NOT NULL
);

자동차 테이블 생성

CREATE TABLE Car(
    id INT(10) UNSIGNED NOT NULL PRIMARY KEY,
    car_name CHAR(100) NOT NULL,
    color CHAR(100) NOT NULL
);

사람 데이터 생성

INSERT INTO Person 
SET `name` = '공유',
age = 30;

INSERT INTO Person 
SET `name` = '신혜선',
age = 25;

INSERT INTO Person 
SET `name` = '신세경',
age = 40;

INSERT INTO Person 
SET `name` = '현빈',
age = 33;

자동차 데이터 생성

INSERT INTO Car 
SET id = 2,
car_name = 'SONATA',
color = 'black';

INSERT INTO Car
SET id = 4,
car_name = 'SPORTAGE',
color = 'GREEN';

모든 사람들의 자동차 유무 조회(LEFT JOIN)

SELECT P.*, C.car_name, C.color
FROM Person P LEFT JOIN Car C ON P.id = C.id
  • LEFT JOIN 을 기준으로 좌측에 있는 테이블을 기준으로 모든 데이터를 조회한다.

자동차가 있는 사람들만 조회(RIGHT JOIN)

SELECT P.*, C.car_name, C.color
FROM Person P RIGHT JOIN Car c ON P.id = C.id
  • RIGHT JOIN 을 기준으로 우측에 있는 테이블을 기준으로 모든 데이터를 조회한다.
728x90
반응형
LIST