천천히 빛나는

MySQL : JOIN 연산 + 기본 예제 본문

STUDY/MYSQL

MySQL : JOIN 연산 + 기본 예제

까만콩 •ᴥ• 2023. 10. 21. 14:47

Join 연산

- 내부 조인 (Inner Join)

1) 동등 조인 (Equi Join)

내부 조인이라고 하면 동등 조인을 생각하면 된다.

SELECT 속성
FROM 테이블 1
    INNER JOIN 테이블 2
    ON 조인 조건
WHERE 조건

SELECT NAME, ID
FROM EMPLOYEE
INNER JOIN PROJECT
ON EMPLOYEE.ID = PROJECT.eID

내부 조인은 WHERE 만 가지고도 충분히 구현 가능하다. WHERE 안에 조인 조건을 넣어줘도 구현이 된다.

SELECT *
FROM EMPLOYEE, DEPARTMENT
WHERE DNUMBER=DNO;

SELECT *
FROM EMPLOYEE
INNER JOIN DEPARTMENT
ON employee.dno = department.dnumber;

실제 두 구문이 같다는 것을 보이도록 하겠다.

이와 같이 EMPLOYEE와 DEPARTMENT 테이블이 존재한다. WHERE로 DNUMBER과 DNO가 같은 행만 남기도록 하였다.

DNUMER과 DNO가 같은 행만 남아있다.

 

2) 자연 조인 (Natuaral Join)

SELECT *
FROM 테이블 1
NATURAL JOIN 테이블 2

동일한 타입과 이름을 가진 속성을 조인 조건으로 사용한다. 반드시 두 테이블 간 동일한 이름과 타입을 가진 속성이 필요하다. 조인에 이용되는 속성을 명시하지 않아도 된다.

 

 

- 외부 조인 (Outer Join)

1) 전체 외부 조인 (Full Outer Join)

SELECT 속성
FROM 테이블1 
FULL OUTER JOIN 테이블2
ON 조건문
WHERE 추가조건문

공통되지 않은 행들도 유지하게 된다. 

id로 join을 하였으나 겹치는 id가 없는 부분도 출력을 해주게 된다

 

2) Left Outer Join

SELECT 속성
FROM 기준테이블1 
LEFT OUTER JOIN 테이블2
ON 조건문
WHERE 추가조건문

왼쪽 테이블을 기준으로 조인을 하게 된다. 즉 위에서 다룬 전체 테이블에 왼쪽 테이블에 있는 null값을 모두 제외되는 것이다.

SELECT *
FROM instructor
LEFT OUTER JOIN teaches 
ON instructor.id = teaches.id

외부 조인에서는 left join을 많이 사용하게 된다.

 

3) Right Outer Join

SELECT 속성
FROM 테이블1 
RIGHT OUTER JOIN 기준테이블2
ON 조건문
WHERE 추가조건문

오른쪽 테이블을 기준으로 합치게 된다. 왼쪽 테이블에서 없는 값은 null로 채워지게 된다.

 

- Cross Join

SELECT 속성
FROM 테이블1, 테이블2

SELECT 속성
FROM 테이블1
JOIN 테이블2

SELECT 속성
FROM 테이블1
CROSS JOIN 테이블2

모든 값이 나오게 된다. 코테에서 사용할 일은 거의 0%이다.

 

 

https://doh-an.tistory.com/30

 

[DB] SQL - JOIN문, JOIN 종류 (Inner Join,Natural Join,Outer Join,Cross Join)

1. Join이란? 두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법 두 개의 테이블을 마치 하나의 테이블인 것처럼 보여준다. 2. 기본 구조 1) 일반 SELECT 테이블.컬럼, 테이블.컬

doh-an.tistory.com

 

 

'STUDY > MYSQL' 카테고리의 다른 글

MySQL : String, Date 고득점 Kit  (1) 2023.10.21
MySQL : JOIN 연산 고득점 Kit  (1) 2023.10.21
MySQL : IS NULL 문 고득점 Kit  (0) 2023.10.21
MySQL : GROUP BY 문 고득점 Kit  (0) 2023.10.21
MySQL : SUM, MAX, MIN 문 고득점 Kit  (1) 2023.10.20