일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 에세티
- 엑셀
- 영어공부
- excel
- SAT만점
- 홍콩미국학교
- SQL
- 사트
- SAT
- SAT고득점
- 해외생활
- 홍콩영국학교
- 홍콩유학
- 홍콩국제학교
- 홍콩교육
- 홍콩생활
- 전인교육
- 컴활
- 중국어
- 데이터추출
- CDNIS
- 국제학교시험
- SAT리딩
- ESF
- oracle
- HKIS
- 데이터분석
- SATWriting
- MOS
- 미국수능
- Today
- Total
꿈 많은 Dreamer
SQL에서 JOIN을 걸어보자! 본문
내부조인이란 2개의 테이블에서 공통적으로 존재하는 컬럼의 값이 일치되는 행을 연결하여 결과를 생성하는 조인 방법입니다. 아래와 같이 예제를 확인해 봅시다.
Select emp.first_name, emp.last_name, emp.email, emp.department_id, dep.department_name, emp.job_id, job.job_title, loc.city
from employees emp,
departments dep,
jobs job,
locations loc
where emp.department_id = dep.department_id
and emp.job_id = job.job_id
and dep.location_id = loc.location_id
and loc.city = 'Seattle';
SELECT d.DEPARTMENT_ID, e.DEPARTMENT_ID
FROM employees e
INNER JOIN departments d
ON d.DEPARTMENT_ID = e.DEPARTMENT_ID;
SELECT d.DEPARTMENT_ID, e.DEPARTMENT_ID
FROM employees e ,departments d
WHERE d.DEPARTMENT_ID = e.DEPARTMENT_ID;
외부조인이란 상호 테이블간에 일치되는 값으로 연결되는 내부조인과는 달리 어느 한 테이블에 공통 컬럼값이 없더라도 조회결과에 포함되게 하는 조인이며 조회 조건에서 (+) 기호를 사용하여 조인합니다.
Select e.employee_id, e.first_name, e.department_id, d.department_name, l.city
from employees e, departments d, locations l
where e.department_id = d.department_id (+)
and d.location_id = l.location_id (+);
SELECT d.DEPARTMENT_ID, e.DEPARTMENT_ID FROM employees e
LEFT/RIGHT OUTER JOIN departments d
ON d.DEPARTMENT_ID = e.DEPARTMENT_ID;
SELECT d.*, e.* FROM employees e, departments d
WHERE 1=1
AND d.DEPARTMENT_ID(+) = e.DEPARTMENT_ID ;
SELECT d.DEPARTMENT_ID, e.DEPARTMENT_ID FROM employees e, departments d
WHERE 1=1
AND d.DEPARTMENT_ID = e.DEPARTMENT_ID(+) ;
셀프조인은 동일한 테이블을 대상으로 조인을 맺는 것을 말하며 반드시 별명을 붙여서 사용합니다. 동일한 테이블에서 상호간의 관계를 맺고 있고, 이를 근거로 자료를 산출하고자 할 때 사용하며 자기참조 테이블(같은 테이블의 특정 컬럼을 참조하는 테이블)에서 셀프조인이 사용됩니다.
Select emp1.employee_id, emp1.first_name,
emp2.employee_id 상사ID, emp2.first_name 상사이름
from employees emp1, employees emp2
where emp1.manager_id = emp2.employee_id;
SELECT e1.employee_id "사원번호", e1.first_name "사원이름", e1.manager_id "상사번호",
e2.employee_id "상사의 사원번호", e2.first_name "상사이름"
FROM employees e1
INNER JOIN employees e2
ON e1.manager_id = e2.employee_id;
이처럼 JOIN은 SQL에서 유용하게 활용된답니다~
잘 마스터하면 편리하겠죠?!
'ICT > SQL' 카테고리의 다른 글
SQL 함수 정리 모음 (0) | 2021.02.12 |
---|---|
SQL 설치 후 Select 입문 (0) | 2021.01.11 |