본 강의를 수강 후 정리한 글입니다 .
https://www.youtube.com/playlist?list=PLlCujDgOz8x6nDWtRr5AlHWB9Xp-Lxf-z
1. JOIN의 개념
- 하나의 SQL문으로 여러 테이블이 가진 데이터를 동시에 검색하려고 할때 사용
SELECT columns
FROM tabl1, tab2, …
WHERE join_conditions ;
👉SQL 문의 FROM 절에서 2개 이상의 테이블이 사용
👉 where 절에는 join 조건이 기술됨
👉일반적으로, PK나 FK 값의 연관에 의해 조인이 성립된다.
👉PK나 FK의 관계가 없더라도 논리적인 연관만으로 조인이 가능하다
2.CARTESIAN PRODUCT
- WHERE절이 없는 조인
- 조인 조건 없는 조인
- CROSS JOIN
👉각 테이블의 데이터는 상대 테이블의 row수 만큼 출력되어 있음.
- CARTESIAN PRODUCT의 활용
- ROLLUP, CUBE로 구현하는 것을 구현할 수 있음.
- GROUPING SETS로 구현하는 것을 구현 할 수 있음. < 성능상 문제를 해결 가능
3.EQUI JOIN
- WHERE절에 조인을 위한 조건을 "=" 연산자를 사용하여 조인을 수행
[예제]
SELECT e.empno, e.ename, d.dname
FROM dept d, emp e
WHERE d.deptno = e.deptno
ORDER BY d.deptno;
= 동일함
SELECT e.empno, e.ename, d.dname
FROM dept d, emp e
WHERE d.deptno = e.deptno
AND e.job = 'MANAGER';
4.NON - EQUI JOIN
- "="연산자가 아닌 다른 연산자를 사용하여 조인을 수행
SELECT e.ename, e.job, e.sal, s.grade,
s.losal, s.hisal
FROM salgrade s, emp e
WHERE e.sal >= s.losal
AND e.sal <= s.hisal;
=
SELECT e.ename, e.job, e.sal, s.grade,
s.losal, s.hisal
FROM salgrade s, emp e
WHERE e.sal BETWEEN s.losal AND s.hisal;
5.OUTER JOIN
SELECT t1.pattern, t1.id,
t2.id, t2.pattern
FROM t1, t2
WHERE t1.pattern = t2.pattern(+);
[결과]
👉 데이터가 없는 부분은 NULL이 들어감.
👉(+) 가 붙은 부분이 참조테이블!!
2022.09.20 - [😺DB/SQL] - [SQL] JOIN
'😺Data Base > 😻 SQLD' 카테고리의 다른 글
[SQL] 다중 행 함수 (0) | 2022.11.03 |
---|---|
[SQL] 단일 행 함수 (0) | 2022.11.03 |
[SQL] WHERE 절 (0) | 2022.11.02 |
[SQL] SQL 종류 - DML / TCL / DCL / TRANSACTION (0) | 2022.11.02 |
[SQL] 제약조건 / VIEW / SEQUENCE / SYNONYM / INDEX (0) | 2022.11.01 |