일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 테이블복사생성
- 이클립스형광줄
- 이클립스로딩지연
- 오블완
- 티스토리챌린지
- sql error [936] [42000]: ora-00936
- unresolved compilation problems
- 이클립스느림
- 우아한테크
- 이클립스로딩
- select즐겨찾기
- error페이지 설정
- this
- 오버로딩
- oracle
- git
- 조건위치 효율성
- 이클립스무한로딩
- Sequence
- 생성자오버로딩
- 테크톡
- this()
- 다형성
- sql error [1] [23000]: ora-00001
- 메모리낭비적은string연산
- sql error [947] [42000]: ora-00947
- 프로그래머스
- ecleemma
- Java
- java크롤링
코딩항해기
[DBMS/Oracle] JOIN 본문

집합연산자와 JOIN

집합연산자는 결과 값을 세로로 연결한 것이고, JOIN은 두 개 이상의 테이블 데이터를 가로로 연결한 것이다.
[DBMS/Oracle] 집합 연산자
집합 연산자는 예전 where절과 연산자를 다룰 때 함께 다룬 적이 있다.Join을 정리하며 제대로 구분 짓기 위해 다시 한 번 더 정리한다. [DBMS/Oracle] WHERE절과 연산자WHERE절WHERE절은 SELECT문으로 데이
minibcake.tistory.com
JOIN
조회하고자하는 테이블이 쪼개져있으면 데이터를 한 눈에 확인하거나 사용하기 불편하기 때문에 입력, 수정, 삭제의 성능을 향상시키기 위해서 join을 통해 하나의 가상 테이블로 합친 후 사용한다.
Join은 크게 내부 조인과 외부 조인으로 분류된다.
(그 외 조인 조건에 따 등가 조인, 비등가 조인, 자체 조인 등으로 분류되기도 한다.)
내부 조인(inner join)
조건이 정확히 일치하는 값만 합쳐서 보여준다.
일반적으로 조인을 사용하면 inner join이라고 간주하기 때문에 inner를 생략할 수 있다.
SELECT * FROM 테이블1 INNER JOIN 테이블2 ON 테이블1.공통열 = 테이블2.공통열;
SELECT * FROM 테이블1 JOIN 테이블2 ON 테이블1.공통열 = 테이블2.공통열;
--Inner 생략가능!

외부 조인(outer join)
한쪽에만 값이 있어도 테이블을 합쳐서 보여준다.
inner를 생략할 수 있는 inner join과는 달리 outer join은 앞에 키워드를 작성하면 outer을 생략할 수 있다.
(ex. LEFT JOIN 등)
반드시 LEFT, RIGHT, FULL과 같은 키워드를 사용해야 한다.
outer 조인은 일치하지 않는 경우 Null값으로 반환한다.
왼쪽 외부조인(LEFT OUTER JOIN)
왼쪽 테이블의 모든 행을 반환하고 오른쪽 테이블과 일치하는 행이 있으면 해당 행도 함께 보여준다.
SELECT * FROM 테이블1 LEFT OUTER JOIN 테이블2 ON 테이블1.공통열 = 테이블2.공통열;
오른쪽 외부조인(RIGHT OUTER JOIN)
오른쪽 테이블의 모든 행을 반환하고 왼쪽 테이블과 일치하는 행이 있으면 해당 행도 함께 보여준다.
SELECT * FROM 테이블1 RIGHT OUTER JOIN 테이블2 ON 테이블1.공통열 = 테이블2.공통열;
전체외부조인(FULL OUTER JOIN)
양쪽 테이블의 모든 행을 반환하고, 일치하는 행이 없는 경우에도 각 테이블의 행을 모두 보여준다.
SELECT * FROM 테이블1 FULL OUTER JOIN 테이블2 ON 테이블1.공통열 = 테이블2.공통열;
*외부 조인의 경우 기준이 되는 열에 '(+)'를 붙여 외부 조인을 하는 경우도 있다.
'DB > Oracle' 카테고리의 다른 글
[DBMS/Oracle] VIEW (0) | 2024.08.04 |
---|---|
[DBMS/Oracle] 집합 연산자 (0) | 2024.08.03 |
[DBMS/Oracle] 테이블 복사 생성하기 (0) | 2024.07.31 |
[DBMS/Oracle] 서브쿼리 (0) | 2024.07.30 |
[DBMS/Oracle] 오라클 함수 (문자, 숫자, 날짜, 형변환 등) (0) | 2024.07.29 |