반응형
안녕하세요. 경제적, 시간적 자유를 꿈꾸는 한량입니다.
예문 테이블을 가지고 조인이 어떻게 동작하는지 알아보겠습니다.
CREATE TABLE test1 ( num1 INT );
CREATE TABLE test2 ( num2 INT );
INSERT INTO test1 VALUES (1), (2), (3);
INSERT INTO test2 VALUES (2), (4);
1. 내부 조인 - INNER JOIN
조인된 테이블에서 지정된 조인 조건에 대해
만족하는 행만 포함하여 결과 집합을 생성합니다.
SELECT * FROM test1 INNER JOIN test2 ON test1.num1 = test2.num2;
// 실행 결과
------ ------
| num1 | num2 |
------ ------
| 2 | 2 |
------ ------
2. 외부 조인 - (LEFT, RIGHT, FULL) OUTER JOIN
기준이 되는 테이블열 값과 일치하는 항목이 없으면
해당 테이블의 모든 열이 해당 행에 대해 NULL로 설정됩니다.
SELECT * FROM test1 LEFT OUTER JOIN test2 ON test1.num1 = test2.num1;
// 실행 결과
------ ------
| num1 | num2 |
------ ------
| 1 | NULL |
| 2 | 2 |
| 3 | NULL |
------ ------
3. 상호 조인 - CROSS JOIN
각 테이블의 모든 행이 다른 테이블의 모든 행에 조인되는 결과 집합을 생성합니다.
MariaDB에서 CROSS 키워드는 아무것도 하지 않으므로 생략할 수 있습니다.
ON 절이 없는 JOIN은 CROSS JOIN입니다.
SELECT * FROM test1 CROSS JOIN test2;
// 실행 결과
------ ------
| num1 | num2 |
------ ------
| 1 | 2 |
| 2 | 2 |
| 3 | 2 |
| 1 | 4 |
| 2 | 4 |
| 3 | 4 |
------ ------
반응형
'IT 소스 > MariaDB' 카테고리의 다른 글
[MariaDB] SQL 쿼리 - IN, NOT IN (0) | 2023.01.20 |
---|---|
[MariaDB] 테이블 결합 - UNION (0) | 2023.01.18 |
[MariaDB] 테이블 수정 - ALTER (0) | 2023.01.13 |
[MariaDB] 데이터 삭제 - DELETE (0) | 2023.01.12 |
[MariaDB] 데이터 수정 - UPDATE (0) | 2023.01.11 |