![article thumbnail image](https://blog.kakaocdn.net/dn/PIrLv/btrMnnAJk2m/1RVrxsWEaDRH76yKWTJ0K1/img.png)
예제7)
정답
예제8)
정답
예제9)
정답
예제10)
정답
예제11)
정답
예제12)
정답)
예제13)
정답)
예제14)
정답)
■ JOIN
2개 이상의 테이블에서 컬럼들을 가져오는 작업
조인 -> 여러개의 테이블에서 데이터를 검색
-> 시스템 내부에서는 조인을 수행할 테이블들을 하나의 테이블인 것 처럼 가상으로 조합
- 여러개의 테이블의 행들을 하나의 행으로 조합
-> 하나의 행으로 조합할 때, 무결성이 보장된 행으로 조합
-> 무결성이 보장된 행으로 조합을 위해 조건을 둠
(did = did) -> 조인조건
-> 조인이 발생하면 반드시 n(조인을 수행할 테이블의 개수)-1개 만큼의 조인조건을 where에 명시
1. n-1 -> 조인조건을 where절에 반드시 명시
2. department_id 똑같이 이름의 column을 명시할때 반드시 소유주인 table을 붙여야한다.
* 카티시안 곱
● 조인유형
-1. 등가조인(equal join) - data가 같은때
-2. 비등가 조인(non equal join) - data가 다를때
-3. 포괄 조인(outer join) - 어느 한 쪽 데이터가 더 많을때
-4. 자체 조인(self join) - 1개의 테이블을 대상으로 조인을 수행
select e.last_name, d.department_name, e.department_id
from employees e, departments d => 이번에 문장이 실행되는 동안만 공백을 사용하여 alias를 사용하겠다!
(1) table full name으로 사용
(2) alias 사용
where e.department_id = d.department_id
==> 전체 사원 수 는 107명이지만 등가조인을 하고 난 후 106명으로 나온다.
이는 employees테이블의 갯수가 더 많이 때문에
포괄조인(outer join)을 사용함으로서 부족한 쪽에 {d.department_id(+)} 행( ex)null값 )을 삽입시킨다.(문장출력동안만)
1. 등가조인(=)
FK에 해당하는 컬럼 -> PK에 해당하는 컬럼 ==> 등가 조인
예제) 90번 부서에 근무하는 사원의 이름과 부서번호와 부서이름을 출력하자.
select last_name, department_name, e.department_id
from employees e, departments d
where e.department_id = d.department_id
and e.department_id = 90
/
2. 비등가 조인
같지 않은 컬럼을 조인시키는것
Join 예제1)
정답)
예제2)
정답)
정답)
예제3)
정답)
ps. SQLD자격증 취득을 위해 중요한 부분 다시 한번 훑어보자!
'Study > DataBase' 카테고리의 다른 글
Database기초 6일차 <서브쿼리> (0) | 2022.09.20 |
---|---|
Database기초 5일차 <Group by, Having> (2) | 2022.09.19 |
DATABASE기초 3일차 (0) | 2022.09.16 |
데이터베이스 기초 2일차 (0) | 2022.09.15 |
데이터베이스 기초 1일차 (0) | 2022.09.13 |