본문 바로가기

back-end/sql

SQL/ 조인 JOIN

JOIN

한 테이블의 행을 다른 테이블의 행에 연결하는 연산으로, 두 개 이상의 테이블을 결합한다.


내부 조인 INNER JOIN

두 테이블의 지정한 컬럼에서 값이 같은 경우를 추출한다. 

SELECT 속성(들)
FROM 테이블1
INNER JOIN 테이블2
ON 테이블1.속성 = 테이블2.속성;
[WHERE 조건]

 


왼쪽 외부 조인 LEFT OUTER JOIN

 

왼쪽 테이블의 모든 데이터와 오른쪽 테이블의 동일 데이터를 추출한다.

SELECT 속성(들)
FROM 테이블1
LEFT JOIN 테이블2
ON 테이블1.속성 = 테이블2.속성;
[WHERE 조건]

오른쪽 외부 조인 RIGHT  OUTER JOIN

오른쪽 테이블의 모든 데이터와 왼쪽 테이블의 동일 데이터를 추출한다.

SELECT 속성(들)
FROM 테이블1
RIGHT JOIN 테이블2
ON 테이블1.속성 = 테이블2.속성;
[WHERE 조건]

완전 외부 조인 FULL OUTER JOIN

양쪽의 모든 데이터를 추출한다.

SELECT 속성(들)
FROM 테이블1
FULL OUTER JOIN 테이블2
ON 테이블1.속성 = 테이블2.속성;
[WHERE 조건]

교차 조인 CROSS JOIN

한 테이블의 모든 행과 다른 테이블의 모든 행의 조합을 추출한다. 결과로 두 테이블의 각 행의 개수를 곱한 만큼의 행을 가진 테이블을 반환한다. 조인 조건 없이 모든 데이터의 조합을 추출하므로 ON 절을 갖지 않는다.

SELECT 속성(들)
FROM 테이블1
CROSS JOIN 테이블2;

셀프 조인 SELF JOIN

자기 자신(테이블)에 별칭을 지정 후 다시 조인한다.

SELECT 속성(들)
FROM 테이블1 A, 테이블1 B;
[WHERE 조건]

 

 

ref.

 

SQL Joins

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

'back-end > sql' 카테고리의 다른 글

SQL/ SQK Keywords  (0) 2022.06.13
SQL/ 데이터 모델링  (0) 2022.06.13
SQL/ 키 Key  (0) 2022.06.10
SQL/ 릴레이션의 개념  (0) 2022.06.10