Here are the different types of the JOINs in SQL:
- (INNER) JOIN: Returns records that have matching values in both tables
- LEFT (OUTER) JOIN: Return all records from the left table, and the matched records from the right table
- RIGHT (OUTER) JOIN: Return all records from the right table, and the matched records from the left table
- FULL (OUTER) JOIN: Return all records when there is a match in either left or right table
INNER JOIN :: 두 테이블에서 동시에 매치되는 값들을 리턴해준다.
LEFT JOIN :: LEFT JOIN 키워드는 왼쪽 테이블의 모든 레코드를 리턴하고 오른쪽 테이블과 매칭을 한다.
이때 NULL이 나타나는 값은 오른쪽 테이블 값과 비교했을 때 매칭이 되지 않는 값들을 의미한다.
즉, LEFT JOIN 키워드는 오른쪽 테이블과 매칭되지 않더라도 우선 왼쪽 테이블의 모든 값을 리턴하게 된다.
RIGHT JOIN :: RiGHT JOIN 키워드는 오른쪽 테이블의 레코드를 모두 리턴하고 왼쪽 테이블이 매치되는 것을 값으로 넣어주고 왼쪽 테이블에 매치되는 것이 없다면 NULL을 리턴한다.
FULL OUTER JOIN :: FULL OUTER JOIN 키워드는 모든 두 테이블 레코드를 리턴하고 매치되지 않는 값은 NULL로 모두 리턴하게 된다. 즉, 엄청 큰 리턴 셋이 만들어지게 된다.
● LEFT OUTER JOIN
Table A와 B가 있을 때 왼쪽에 있는 Table A가 기준이 됩니다. A와 B를 비교해서 같은 것이 있을 때 그 해당 Data를 가져오고, B가 없는 경우에도 가져오는데 B에서 가져오는 칼럼은 NULL 값으로 표시됩니다.
● RIGHT OUTER JOIN
Table A와 B가 있을 때 오른쪽에 있는 Table B가 기준이 됩니다. A와 B를 비교해서 같은 것이 있을 때 그 해당 Data를 가져오고, A가 없는 경우에도 가져오는데 A에서 가져오는 칼럼은 NULL 값으로 표시됩니다.
● FULL OUTER JOIN
Table A와 B가 있을 때 (Table A, B 모두 기준), Left Outer Join과 Right Outer Join의 결과를 UNION으로 합친 것과 같습니다.
INNER JOIN
https://www.w3schools.com/sql/sql_join.asp
INNER JOIN 키워드는 두 테이블의 교집합을 가져온다.
Customers 테이블에 값들을 붙이게 되는데 이때 Orders 테이블에서 Customers.CustomerID와 Orders.CustomerID가 같은 것들을 가져온다.
Orders 테이블에 붙이는데 Customers의 Orders.CustomerID와 Customers.CustomerID가 같은 것들을 붙이고
Shippers의 Orders.ShipperID와 Shippers.ShipperID가 같은 것들을 찾아 붙인다.
'Applied > Database' 카테고리의 다른 글
데이터베이스 SELECT INTO, INSERT INTO SELECT, ISNULL, PROCEDURES (0) | 2018.08.18 |
---|---|
데이터베이스 UNION, GROUP BY, HAVING, EXISTS, ANY, ALL (0) | 2018.08.16 |
데이터베이스 IN, BETWEEN, ALIAS (0) | 2018.08.12 |
데이터베이스 LIKE, Wildcards (0) | 2018.08.10 |
데이터베이스 TOP LIMIT ROWNUM, MIN MAX, COUNT AVG SUM (0) | 2018.08.08 |