아직 하는중 내일 다시 수정해볼 예정
온라인 sql사이트
CREATE TABLE mysql_test_a (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30),
mento VARCHAR(30)
);
CREATE TABLE mysql_test_b (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) ,
duty VARCHAR(30)
);
INSERT INTO `mysql_test_a` (`id`, `name`, `mento`)
VALUES ('1', 'John', 'Cat');
INSERT INTO `mysql_test_a` (`id`, `name`, `mento`)
VALUES ('2', 'Don', 'Pu');
INSERT INTO `mysql_test_a` (`id`, `name`, `mento`)
VALUES ('3', 'Cat', null);
INSERT INTO `mysql_test_a` (`id`, `name`, `mento`)
VALUES ('4', 'Pu', 'Hong');
INSERT INTO `mysql_test_a` (`id`, `name`, `mento`)
VALUES ('5', 'Hong', 'End');
INSERT INTO `mysql_test_a` (`id`, `name`, `mento`)
VALUES ('6', 'End', null);
INSERT INTO `mysql_test_b` (`id`, `name`, `duty`)
VALUES ('1', 'John', 'manager');
INSERT INTO `mysql_test_b` (`id`, `name`, `duty`)
VALUES ('2', 'Don', 'manager');
INSERT INTO `mysql_test_b` (`id`, `name`, `duty`)
VALUES ('3', 'Cat', 'deputy');
INSERT INTO `mysql_test_b` (`id`, `name`, `duty`)
VALUES ('4', 'Pu', 'chief');
INSERT INTO `mysql_test_b` (`id`, `name`, `duty`)
VALUES ('5', 'Hong', 'deputy');
INSERT INTO `mysql_test_b` (`id`, `name`, `duty`)
VALUES ('6', 'End', 'chief');
SELECT a.name, b.duty, a.mento, b2.duty
AS mentoDuty
FROM mysql_test_a a
JOIN mysql_test_b b
ON a.name = b.name
LEFT JOIN mysql_test_b b2
ON a.mento = b2.name
mysql_test_a 테이블과 mysql_test_b 테이블을 조인하여 name 열을 기준으로 매칭된 레코드를 반환합니다.
왼쪽 조인(LEFT JOIN)을 사용하여 mysql_test_a 테이블의 mento 열과 mysql_test_b 테이블의 name 열을 매칭하여 mentoDuty를 가져옵니다.
만약 mento가 NULL인 경우, mentoDuty도 NULL로 표시됩니다.