😺Data Base/😻 SQLD

[SQL] JOIN

디카페인라떼 2022. 11. 4. 00:46

본 강의를 수강 후 정리한 글입니다 .

https://www.youtube.com/playlist?list=PLlCujDgOz8x6nDWtRr5AlHWB9Xp-Lxf-z 

 

01. SQL 기본

#SQL기본 #SQLD #SQLP 이론적인 내용이 지루하다고 생각할 수도 있습니다. 하지만 SQL을 현장에서 능숙하게 활용할 수 있기 위해서는 기본적인 지식에 대한 기초를 튼튼하게 다져야 할 필요가 있습니

www.youtube.com


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

 

CARTESIAN PRODUCT - 유튜브

👉각 테이블의 데이터는 상대 테이블의 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

outer join&nbsp; 예제

 

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

 

[SQL] JOIN

참고한 강의 https://opentutorials.org/module/4118 SQL Join 수업소개 관계형 데이터베이스에서 테이블과 테이블의 관계를 이용해서 새로운 테이블을 만들어내는 태크닉인 join을 알려드리는 수업입니다.

wearegolden.tistory.com

 

'😺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