일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Java
- oracle
- Eclipse
- 연산자
- variable
- Servlet
- 이클립스
- 코딩
- 자료형
- sqldeveloper
- SQL
- select
- datatype
- 변수
- Operator
- error
- CSS
- VisualStudioCode
- 자바
- JS
- 오라클오류
- 에러
- function
- From
- 서블릿
- HTML
- 오류
- 오라클
- 삐옥
- 개발자
- Today
- Total
뇨내
[Oracle-SQL Developer] JOIN 본문
JOIN 조인
1. 단순 조인, CROSS JOIN, 카티션곱(데카르트곱)
SELECT 컬럼리스트 FROM 테이블A CROSS JOIN 테이블B;
2. 내부 조인, INNER JOIN★★★★★
SELECT 컬럼리스트 FROM 테이블A INNER JOIN 테이블B ON 테이블A.PK = 테이블B.FK; > ANSI-SQL
SELECT 컬럼리스트 FROM 테이블A, 테이블B WHERE 테이블A.PK = 테이블B.FK; > Oracle
3. 외부 조인, OUTER JOIN★★★★★
SELECT 컬럼리스트 FROM 테이블A (LEFT|RIGHT) OUTER JOIN 테이블B ON 테이블A.컬럼 = 테이블B.컬럼;
4. 셀프 조인, SELF JOIN
- 1개의 테이블을 사용해서 조인
- 테이블이 스스로 관계를 맺는 경우에 사용
- 셀프조인 + 내부조인
- 셀프조인 + 외부조인
5. 전체 외부 조인, FULL OUTER JOIN
SELECT 컬럼리스트 FROM 테이블A FULL OUTER JOIN 테이블B ON 테이블A.PK = 테이블B.FK;
조인, JOIN
- (서로 관계를 맺은) 2개(1개) 이상의 테이블의 내용을 가져와서 1개의 결과셋을 만드는 작업
조인의 종류
1. 단순 조인, CROSS JOIN, 카티션곱(데카르트곱)
2. 내부 조인, INNER JOIN★★★★★
3. 외부 조인, OUTER JOIN★★★★★
4. 셀프 조인, SELF JOIN
5. 전체 외부 조인, FULL OUTER JOIN
CROSS JOIN
SELECT 컬럼리스트 FROM 테이블A CROSS JOIN 테이블B;
1
2
3
4
5
|
select * from tblMember;
select * from tblMovie;
select * from tblMembercross join tblMovie;
|
cs |
INNER JOIN
SELECT 컬럼리스트 FROM 테이블A INNER JOIN 테이블B ON 테이블A.PK = 테이블B.FK;
1
2
|
-- 고객의 정보(tblMember)와 판매내역(SalesList)을 가져오기
select * from tblMember m inner join SalesList s on c.seq = s.cseq;
|
cs |
OUTER JOIN
SELECT 컬럼리스트 FROM 테이블A (LEFT|RIGHT) OUTER JOIN 테이블B ON 테이블A.컬럼 = 테이블B.컬럼;
1
2
3
4
5
6
7
8
|
-- 구매 이력과 무관하게 모든 고객과 판매 정보를 같이 가져오시오.
select * from Customer c
left outer join SalesList s
on c.seq = s.cseq;
select * from Customer c
right outer join SalesList s
on c.seq = s.cseq;
|
cs |
SELF JOIN
1
2
3
4
5
6
7
8
9
|
-- 직원 명단을 가져오시오.(단, 상사의 이름도 같이)
-- select * from 직원테이블 inner join 상사테이블 on 직원테이블.super = 상사테이블.seq;
select
a.name as "직원명",
b.name as "상사명"
from tblSelf a
inner join tblSelf b
on a.super = b.seq
order by a.seq asc;
|
cs |
FULL OUTER JOIN
SELECT 컬럼리스트 FROM 테이블A FULL OUTER JOIN 테이블B ON 테이블A.PK = 테이블B.FK;
1
2
3
|
select * from Men m
full outer join Women w
on m.seq = w.seq;
|
cs |
'Oracle > Join + View + Pseudo' 카테고리의 다른 글
[Oracle-SQL Developer] Pseudo Column (0) | 2021.12.11 |
---|---|
[Oracle-SQL Developer] View (0) | 2021.12.09 |