dongdorodongdong
표준조인 본문
STANDARD SQL
- 표준 SQL 기능
- STANDARD JOIN(CROSS, OUTER JOIN) 추가
- SCALAR Subquery, TOP-N query 등의 새로운 Subquery 기능
- ROLLUP, CUBE, GROUPING SETS 등의 새로운 리포팅 기능
- Window Function 같은 새로운 분석 기능 - 연산자 기능
- UNION : UNION
- INTERSCETION : INTERSECT
- DIFFERENCE : MINUS / EXCEPT
- PRODUCT : CROSS JOIN
- SELECT : WHERE 절로 구현
- PROJECT : SELECT 절로 구현
- JOIN : 다양한 JOIN
- DIVIDE : 사용X
FROM 절 JOIN 형태
- INNER JOIN
- 기존 WHERE절의 검색 조건과 JOIN 조건을 그대로 사용
- 추가된 선택 기능으로 JOIN 조건을 FROM절에 명시적으로 정의 - NATURAL JOIN
- INNER JOIN의 하위 개념
- 두 테이블간의 동일한 이름을 갖는 모든 컬럼들에 EQUI JOIN 수행
- WHERE절에서 JOIN 조건을 정의할 수 없음(USING, ON 조건절)
- SQL Server에서 지원X - USING 조건절
- FROM절에 USING 조건절을 이용하여 같은 이름을 가진 컬럼 중 원하는 컬럼에 대해서만 EQUI JOIN 수행
(NATURAL JOIN에서는 모두 일치하는 컬럼을 조인하지만 USING은 원하는 컬럼만 조인)
- SQL Server에서 지원X
>
SELECT *
FROM TAB1 X JOIN TAB2 Y
USING(data1); - ON 조건절
- 컬럼명이 다르더라도 JOIN 조건을 사용할 수 있음
- Alias를 사용가능
- WHERE절과의 혼용
>
SELECT E.ENAME, E.DEPTNO, D.DEPTNO, D.DNAME
FROM EMP E JOIN DEPT D
ON (E.DEPTNO = D.DEPTNO)
WHERE E.DEPTNO = 30;
- ON 조건절 + 데이터 검증 조건
>
SELECT TEAM_NAME, TEAM.STADIUM_ID, STADIUM_NAME
FROM TEAM JOIN STADIUM
ON TEAM.STADIUM_ID = STADIUM.STADIUM_ID
ORDER BY STADIUM_ID
CROSS JOIN
- 특징
- PRODUCT의 개념으로 테이블간 JOIN 조건이 없는 경우 생길 수 있는 모든 데이터의 조합
- CARTESIAN PRODUCT 또는 CROSS PRODUCT와 같은 표현으로 결과는 M*N의 조합이 발생 - 코드
SELECT *
FROM TAB1 X CROSS JOIN TAB2 Y;
OUTER JOIN
- 특징
- JOIN 조건에서 동일한 값이 없는 행도 반환 - LEFT OUTER JOIN
- 왼쪽 테이블이 기준 - RIGHT OUTER JOIN
- 오른쪽 테이블이 기준 - FULL OUTER JOIN
- 조인되는 모든 테이블의 데이터를 읽어 JOIN
* INNER, OUTER, CROSS JOIN 비교
TAB1
TAB2
- INNER JOIN
SELECT X.KEY1, Y.KEY2
FROM TAB1 X INNER JOIN TAB2 Y
ON(X.KEY1 = Y.KEY2) - LEFT OUTER JOIN
SELECT X.KEY1, Y.KEY2
FROM TAB1 X LEFT OUTER JOIN TAB2 Y
ON(X.KEY1 = Y.KEY2) - RIGHT OUTER JOIN
SELECT X.KEY1, Y.KEY2
FROM TAB1 X RIGHT OUTER JOIN TAB2 Y
ON(X.KEY1 = Y.KEY2) - FULL OUTER JOIN
SELECT X.KEY1, Y.KEY2
FROM TAB1 X FULL OUTER JOIN TAB2 Y
ON(X.KEY1 = Y.KEY2)
'SQLD' 카테고리의 다른 글
계층형 질의 / 셀프 조인 (0) | 2019.10.25 |
---|---|
집합연산자 (0) | 2019.10.25 |
JOIN (0) | 2019.10.24 |
GROUP BY, HAVING, ORDER BY (0) | 2019.10.24 |
함수 (0) | 2019.10.24 |