INNER JOIN
- 정의
- 조인하는 테이블의 ON절이 일치하는 결과만 출력
--방법 1
SELECT *
FROM 테이블명1 INNER JOIN 테이블명2 ON (테이블명1.PK이름 = 테이블명2.PK이름);
--방법 2 : 함축 구문
SELECT *
FROM 테이블명1, 테이블명2
WHERE 테이블명1. PK이름 = 테이블명2.PK이름;
더보기
예시
--방법 1
select * from A inner join B on A.NO = B.NO;
-- 방법 2
select * from A, B where A.NO=B.NO;
OUTER JOIN
- FULL OUTER JOIN 경우 빼고 특정 TABLE 기준으로 테이터 보여줌
LEFT OUTER JOIN
- 왼쪽 테이블 기준으로 JOIN
-- 방법 1
SELECT *
FROM 테이블명1 LEFT OUTER JOIN 테이블명2 ON ( 테이블명1.PK이름 = 테이블명2.PK이름);
방법 2
SELECT *
FROM 테이블명1, 테이블명2
WHERE 테이블명1. PK이름 = 테이블명2.PK이름(+);
- (+) : 테이블명2.PK이름 첨부 하겠다는 뜻
- (+) 없으면 기준이 된다는 뜻
더보기
예시
select * from A LEFT OUTER JOIN B ON (A.NO = B.NO);
select * from A, B Where A.NO = B.NO(+);
RIGHT OUTER JOIN
- 오른쪽 테이블 기준으로 JOIN
--방법 1
select *
from 테이블명1 RIGHT OUTER JOIN 테이블명2 ON (테이블명1.PK이름1 = 테이블명2.PK이름2);
--방법 2
select *
from 테이블명1, 테이블명2 Where 테이블명1.PK이름1(+) = 테이블명2.PK이름2;
더보기
예시
--방법 1
select * from A RIGHT OUTER JOIN B ON (A.NO = B.NO);
--방법 2
select * from A, B Where A.NO(+) = B.NO
Full OUTER JOIN
- 왼쪽 테이블과 오른쪽 테이블의 합집합
- A에는 데이터가 있지만 B에 데이터 없으면 B부분 NULL
반대의 경우에는 A부분이 NULL 된다
select *
from 테이블명1 FULL OUTER JOIN 테이블명2 ON (테이블명1.PK이름1 = 테이블명2.PK이름2);
select * from 테이블명1, 테이블명2
Where 테이블명1.PK이름1 = 테이블명2.PK이름2(+)
UNION
select * from 테이블명1, 테이블명2
Where테이블명1.PK이름1(+) = 테이블명2.PK이름2;
더보기
예시
--방법 1
select * from A FULL OUTER JOIN B ON (A.NO = B.NO);
--방법 2
select * from A, B Where A.NO = B.NO(+)
UNION
select * from A, B Where A.NO(+) = B.NO;
INNER JOIN 과 OUTER JOIN 비교 요약
INNER JOIN 교집합 개념
OUTER JOIN은 일치하지 않더라도 버리지 않고 NULL로 채워서 결과 출력
자체 조인(SELF JOIN)
- 자기 자신 조인
SELECT 별칭명1.컬럼명1, 별칭명1.컬럼명2, 별칭명2.컬럼명1, 별칭명2.컬럼명2
FROM 테이블명1 별칭명1, 테이블명1 별칭명2
WHERE 조건;
더보기
1.모든사원에 대해 사원의 이름과 직속 상사의 이름을 검색해라
- EMPNAME 테이블에 어떤 사원의 MANAGER 번호가 같은 테이블 내에서 어떤 사원의 EMPNO와 같으면 그사원이 직속 상관
SELECT E.EMPNAME as 사원, M.EMPNAME as 직속상관
FROM EMPLOYEE E, EMPLOYEE M -- inner join
WHERE E.MANAGER = M.EMPNO;
'DB > SQL' 카테고리의 다른 글
ALTER 테이블 변경/ 수정 (0) | 2023.12.26 |
---|---|
DROP 테이블 삭제 (0) | 2023.12.26 |
CREATE 테이블 생성 (0) | 2023.12.26 |
ROWNUM (0) | 2023.12.26 |
Regular Expression (0) | 2023.12.26 |