You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 오라클 조인 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://toplist.maxfit.vn team, along with other related topics such as: 오라클 조인 오라클 조인 정리, 오라클 조인 종류, 오라클 조인 중복제거, 오라클 조인 예제, 아우터조인, 오라클 조인 여러개, 오라클 조인 순서, 오라클 내부조인
[Oracle] 조인 (JOIN), 아우터 조인(Outer Join)
- Article author: goddaehee.tistory.com
- Reviews from users: 10803 Ratings
- Top rated: 4.6
- Lowest rated: 1
- Summary of article content: Articles about [Oracle] 조인 (JOIN), 아우터 조인(Outer Join) [Oracle] 조인 (JOIN), 아우터 조인(Outer Join). 갓대희 2017. 8. … JOIN은 각 테이블간에 공통된 걸럼(조건)으로 데이터를 합쳐 표현하는 것이다. …
- Most searched keywords: Whether you are looking for [Oracle] 조인 (JOIN), 아우터 조인(Outer Join) [Oracle] 조인 (JOIN), 아우터 조인(Outer Join). 갓대희 2017. 8. … JOIN은 각 테이블간에 공통된 걸럼(조건)으로 데이터를 합쳐 표현하는 것이다. 조인 (JOIN) – JOIN은 각 테이블간에 공통된 걸럼(조건)으로 데이터를 합쳐 표현하는 것이다. – JOIN에는 크게 INNER JOIN, OUTER JOIN이 있다. ▶ 예제 테이블을 통해 이해해보자. TABLE 1) MEM : 회원테이..
- Table of Contents:
태그
관련글
댓글8
공지사항
최근글
인기글
최근댓글
태그
전체 방문자
티스토리툴바
[오라클 DBMS 공부] 조인(Join)이란? – 내부조인, 외부조인, ANSI조인
- Article author: goldsony.tistory.com
- Reviews from users: 4867 Ratings
- Top rated: 4.8
- Lowest rated: 1
- Summary of article content: Articles about [오라클 DBMS 공부] 조인(Join)이란? – 내부조인, 외부조인, ANSI조인 [오라클 DBMS 공부] 조인(Join)이란? – 내부조인, 외부조인, ANSI조인. 금소니 2020. 8. 7. 17:54. 반응형. #104. 1. 조인(Join)이란? …
- Most searched keywords: Whether you are looking for [오라클 DBMS 공부] 조인(Join)이란? – 내부조인, 외부조인, ANSI조인 [오라클 DBMS 공부] 조인(Join)이란? – 내부조인, 외부조인, ANSI조인. 금소니 2020. 8. 7. 17:54. 반응형. #104. 1. 조인(Join)이란? #104 1. 조인(Join)이란? 데이터를 처리하다보면 여러 테이블의 데이터를 조합하여 처리해야하는 경우가 있습니다. 테이블의 공통 컬럼(외래키 등)을 통하여 테이블을 결합 한 후 데이터를 처리할 수 있습니다…
- Table of Contents:
태그
관련글
댓글0
공지사항
최근글
인기글
최근댓글
태그
전체 방문자
[Join] 오라클 조인하기, 조인의 종류, 이너조인
- Article author: okiidokii.tistory.com
- Reviews from users: 7012 Ratings
- Top rated: 4.9
- Lowest rated: 1
- Summary of article content: Articles about [Join] 오라클 조인하기, 조인의 종류, 이너조인 [Join] 오라클 조인하기, 조인의 종류, 이너조인 … 조인 키 컬럼 값이 양쪽 테이블 데이터 집합에서 공통적으로 존재하는 데이터만 조인해서 결과 … …
- Most searched keywords: Whether you are looking for [Join] 오라클 조인하기, 조인의 종류, 이너조인 [Join] 오라클 조인하기, 조인의 종류, 이너조인 … 조인 키 컬럼 값이 양쪽 테이블 데이터 집합에서 공통적으로 존재하는 데이터만 조인해서 결과 … JOIN의 종류 네가지. 1 INNER JOIN 2 LEFT OUTER JOIN 3 RIGHT OUTER JOIN 4 FULL OUTER JOIN 1 INNER JOIN Inner join은 교집합( A ∩ B ) 연산과 같습니다. 조인 키 컬럼 값이 양쪽 테이블 데이터 집합에..
- Table of Contents:
관련글
댓글0
공지사항
전체 방문자
티스토리툴바
[ORACLE] 조인 과 ANSI 조인
- Article author: glutinousricecookie.tistory.com
- Reviews from users: 5627 Ratings
- Top rated: 4.4
- Lowest rated: 1
- Summary of article content: Articles about [ORACLE] 조인 과 ANSI 조인 JOIN. -두개 이상의 테이블을 하나 이상의 조건을 걸어 합치는거. … 일하다 오라클안돼서 다른 DBMS를 사용하게되면 오라클 조인으로 만든조인문법 … …
- Most searched keywords: Whether you are looking for [ORACLE] 조인 과 ANSI 조인 JOIN. -두개 이상의 테이블을 하나 이상의 조건을 걸어 합치는거. … 일하다 오라클안돼서 다른 DBMS를 사용하게되면 오라클 조인으로 만든조인문법 … JOIN -두개 이상의 테이블을 하나 이상의 조건을 걸어 합치는거. 테이블의 관계 1) 1:다 1-부모테이블 다-자식테이블 primary key = 테이블의 레코드를 식별할 수 있는 칼럼(기준) 부모–>자식 넘..
- Table of Contents:
[Oracle] SQL 문법 JOIN 조인 예제 및 정리 (1) – INNER JOIN | OUTER JOIN | LEFT OUTER JOIN | RIGHT OUTER JOIN | 조인절 정의 예제 :: 매운코딩
- Article author: cceeun.tistory.com
- Reviews from users: 16894 Ratings
- Top rated: 3.3
- Lowest rated: 1
- Summary of article content: Articles about [Oracle] SQL 문법 JOIN 조인 예제 및 정리 (1) – INNER JOIN | OUTER JOIN | LEFT OUTER JOIN | RIGHT OUTER JOIN | 조인절 정의 예제 :: 매운코딩 [Oracle] SQL 문법 JOIN 조인 예제 및 정리 (1) – INNER JOIN | OUTER … 이번 포스팅에서는 INNER 조인 OUTER 조인에 대해서 간략하게 알아보자. …
- Most searched keywords: Whether you are looking for [Oracle] SQL 문법 JOIN 조인 예제 및 정리 (1) – INNER JOIN | OUTER JOIN | LEFT OUTER JOIN | RIGHT OUTER JOIN | 조인절 정의 예제 :: 매운코딩 [Oracle] SQL 문법 JOIN 조인 예제 및 정리 (1) – INNER JOIN | OUTER … 이번 포스팅에서는 INNER 조인 OUTER 조인에 대해서 간략하게 알아보자. 실무에서 필수로 쓰이는 JOIN 절에 대해서 정리해보겠다. 이번 포스팅에서는 INNER 조인 OUTER 조인에 대해서 간략하게 알아보자.. INNER JOIN 이란? LEFT OUTER JOIN 이란? .. 매번 JOIN절은 공부할때마다 이해했..쉽지 않지만 꾸준히 하면 된다.
- Table of Contents:
티스토리툴바
ì¤ë¼í´ SQLê³¼ PL/SQLì ë¤ë£¨ë 기ì : ANSI ì¸ë¶ ì¡°ì¸
- Article author: thebook.io
- Reviews from users: 11662 Ratings
- Top rated: 4.9
- Lowest rated: 1
- Summary of article content: Articles about ì¤ë¼í´ SQLê³¼ PL/SQLì ë¤ë£¨ë 기ì : ANSI ì¸ë¶ ì¡°ì¸ 또한 외부 조인은 OUTER라는 키워드를 붙이는데, 이는 생략이 가능하다. 즉 LEFT JOIN 혹은 RIGHT JOIN이라고 명시해도 이는 외부 조인을 의미한다. 입력. SELECT a. …
- Most searched keywords: Whether you are looking for ì¤ë¼í´ SQLê³¼ PL/SQLì ë¤ë£¨ë 기ì : ANSI ì¸ë¶ ì¡°ì¸ 또한 외부 조인은 OUTER라는 키워드를 붙이는데, 이는 생략이 가능하다. 즉 LEFT JOIN 혹은 RIGHT JOIN이라고 명시해도 이는 외부 조인을 의미한다. 입력. SELECT a. ëë¶, TheBook, ì¤ë¼í´ SQLê³¼ PL/SQLì ë¤ë£¨ë 기ì : ANSI ì¸ë¶ ì¡°ì¸ëë¶(TheBook): (주)ëìì¶í 길ë²ìì ì ê³µíë IT ëì ì´ë ìë¹ì¤ì ëë¤.
- Table of Contents:
See more articles in the same category here: toplist.maxfit.vn/blog.
[Oracle] 조인 (JOIN), 아우터 조인(Outer Join)
반응형
– JOIN은 각 테이블간에 공통된 걸럼(조건)으로 데이터를 합쳐 표현하는 것이다.
– JOIN에는 크게 INNER JOIN, OUTER JOIN이 있다.
▶ 예제 테이블을 통해 이해해보자.
TABLE 1) MEM : 회원테이블 (회원번호, 이름, 이메일, 부서번호)
TABLE 2) DEPART : 부서테이블 (부서번호, 부서명)
▶ 1. SELECT FROM을 이용한 조인
1.1) 회원 테이블과 부서 테이블의 조인
=> DEPART_ID가 공통 컬럼
=> MEM테이블의 DEPART_ID와 DEPART테이블의 DEPART_ID를 연결하여 준다.
ex)
SELECT MEM.MEM_ID, MEM.NAME, MEM.DEPART_ID, DEPART.DEPART_NAME
FROM MEM
, DEPART
WHERE MEM.DEPART_ID = DEPART.DEPART_ID;
1.2) 이때 테이블명이 긴 경우 일일이 그 테이블 명을 다 써주지 않고 별칭을 쓸 수 있다.
ex)
SELECT A.MEM_ID, A.NAME, A.DEPART_ID, B.DEPART_NAME
FROM MEM A
, DEPART B
WHERE A.DEPART_ID = B.DEPART_ID;
결과는 동일
▶ 2. ANSI 표준 조인 (JOIN절을 이용한 명시적 조인)
문법 =>
JOIN절을 명시적으로 선언하여 질의문을 작성할 수 도 있다.
SELECT 컬럼이름1, 컬럼이름2, ㆍㆍㆍ
FROM 테이블명1
JOIN 테이블명2
ON 테이블명1.컬럼명 = 테이블명2.컬럼명;
위의 쿼리를 이렇게 바꿔 작성할 수 있다.
SELECT A.MEM_ID, A.NAME, A.DEPART_ID, B.DEPART_NAME
FROM MEM A
JOIN DEPART B
ON A.DEPART_ID = B.DEPART_ID
▶ 3. 질의문 사용한 JOIN
3.1) 회원 테이블과 부서 테이블의 조인 (특정 회원 조회 EX) NAME이 ‘갓동수’ 인 회원)
3.1.1) SELECT FROM을 이용한 조인에 AND로 조건을 추가하여 조회 가능하다.
ex)
SELECT A.MEM_ID, A.NAME, A.DEPART_ID, B.DEPART_NAME
FROM MEM A
, DEPART B
WHERE A.DEPART_ID = B.DEPART_ID
AND A.NAME = ‘갓동수’
3.1.2) ANSI 표준 쿼리에서는 WHERE 문을 추가하여 조건 조회가 가능하다.
SELECT A.MEM_ID, A.NAME, A.DEPART_ID, B.DEPART_NAME
FROM MEM A
JOIN DEPART B
ON A.DEPART_ID = B.DEPART_ID
WHERE A.NAME = ‘갓동수’;
▶ 4. 3개 이상(다중) 테이블 조인
ex TABLE Name = MOD_MEM_LOG : 회원정보 변경로그 (회원번호, 변경시간)
4.1) 회원 테이블과 부서 테이블의 조인 후 그 회원의 회원 수정 기록을 알고 싶다.
MEM_MOD_LOG 테이블을 추가하고, 공통 컬럼을 연결 시켜준다.
첫번째 방법) SELECT, FROM 절
SELECT A.MEM_ID, A.NAME, A.DEPART_ID, B.DEPART_NAME, C.LOG_TIME
FROM MEM A
, DEPART B
, MEM_MOD_LOG C
WHERE A.DEPART_ID = B.DEPART_ID
AND A.MEM_ID = C.MEM_ID
AND A.NAME = ‘갓동수’;
두번째 방법) ANSI 표준쿼리
SELECT A.MEM_ID, A.NAME, A.DEPART_ID, B.DEPART_NAME, C.LOG_TIME
FROM MEM A
JOIN DEPART B
ON A.DEPART_ID = B.DEPART_ID
JOIN MEM_MOD_LOG C
ON A.MEM_ID = C.MEM_ID
WHERE A.NAME = ‘갓동수’;
▶ 5. 아우터 조인 (LEFT, RIGHT, FULL OUTER JOIN)
EQUI JOIN 문장들의 한 가지 제약점은 그것들이 조인을 생성하려 하는 두개의 테이블의
두개 컬럼에서 공통된 값이 없다면 테이블로부터 데이터를 반환하지 못한다는 것이다.
– 정상적으로 저인 조건을 만족하지 못하는 행들을 보기위해 OUTER JOIN을 사용한다.
OUTER JOIN 연산자는 “(+)”이다.
– 조인시킬 값이 없는 조인측에 “(+)”를 위치 시킨다.
– OUTER JOIN 연산자는 표현식의 한 편에만 올 수 있다.
EX1 ) ‘사자’님의 회원 정보를 조회해보겠다. (부서명 까지 조인)
SELECT A.MEM_ID, A.NAME, A.DEPART_ID, B.DEPART_NAME
FROM MEM A
, DEPART B
WHER A.DEPART_ID = B.DEPART_ID
AND A.NAME = ‘사자’;
위와 같은 정보가 나오는 것을 알 수 있다.
EX2) 그럼 ‘사자’님의 회원정보 수정 기록을 알기 위해 조인을 해보자.
SELECT A.MEM_ID, A.NAME, A.DEPART_ID, B.DEPART_NAME, C.LOG_TIME
FROM MEM A
, DEPART B
, MEM_MOD_LOG C
WHERE A.DEPART_ID = B.DEPART_ID
AND A.MEM_ID = C.MEM_ID
AND A.NAME = ‘사자’;
아무런 결과가 나오지 않는다.
그 이유를 살펴보면 ‘사자’님은 한번도 회원정보를 수정한 적이 없기 때문이다.
회원 정보 수정 로그 (사자 MEM_ID : 0000000003)
회원 정보 수정 로그가 없더라도 회원 기본 정보를 보고 싶다면 이때 OUTER 조인을 사용하면 된다.
▶ 5.1) ORACLE에서의 OUTER조인
간단하게 말하여 데이터가 없을 수도 있는 쪽 JOIN 컬럼에 (+) 를 추가 하여 OUTER JOIN이 가능하다.
SELECT A.MEM_ID, A.NAME, A.DEPART_ID, B.DEPART_NAME, C.LOG_TIME
FROM MEM A
, DEPART B
, MEM_MOD_LOG C
WHERE A.DEPART_ID = B.DEPART_ID
AND A.MEM_ID = C.MEM_ID (+)
AND A.NAME = ‘사자’;
위와 같이 회원정보 변경 이력이 없더라도 나머지 조인에 의한 결과행은 보여지도록 된다.
▶ 5.2) ANSI 표준 쿼리의 OUTER JOIN
– ANSI 표준에서의 OUTER JOIN은 LEFT, RIGHT OUTER 조인 2가지가 있다.
5.2.1) LEFT OUTER JOIN
이전의 JOIN ON 절에서 JOIN 앞에 LEFT OUTER를 붙여주면 된다.
ex)
SELECT A.MEM_ID, A.NAME, A.DEPART_ID, B.DEPART_NAME, C.LOG_TIME
FROM MEM A
JOIN DEPART B
ON A.DEPART_ID = B.DEPART_ID
LEFT OUTER JOIN MEM_MOD_LOG C
ON A.MEM_ID = C.MEM_ID
WHERE A.NAME = ‘사자’;
▶ 5.3) FULL OUTER JOIN
양쪽 테이블에 다 Outer Join을 거는 것을 TWO-WAY OUTER JOIN 또는 FULL OUTER JOIN 이라 한다.
반응형
[오라클 DBMS 공부] 조인(Join)이란? – 내부조인, 외부조인, ANSI조인
반응형
#104
1. 조인(Join)이란?
데이터를 처리하다보면 여러 테이블의 데이터를 조합하여 처리해야하는 경우가 있습니다.
테이블의 공통 컬럼(외래키 등)을 통하여 테이블을 결합 한 후 데이터를 처리할 수 있습니다.
이럴 때 사용하는 것을 조인이라고 합니다.
주로 WHERE 절에 조인 조건이라고 하여 사용합니다.
2. 조인 종류
조인은 크게 세 가지가 있습니다.
내부조인, 외부조인, ANSI 조인이 있습니다.
3. 내부조인
가장 기본적인 조인이며, 테이블 간의 공통 컬럼을 사용하여 컬럼 조건에 의한 결과를 출력하게 해줍니다.
이 때 출력한 로우(Row)의 수는 조회조건에 만족하는 수입니다.
예를 보면서 사용 방법에 대해서 알아보도록 하겠습니다.
EX) 내부조인, EMPLOYEES의 DEPARTMENT_NAME 출력
EMPLOYEES의 테이블에는 DEPARTMENT에 대한 코드 값은 있지만 명칭이 없습니다.
명칭은 DEPARTMENTS 테이블에 있기 때문에 이 두테이블을 조인하여 값을 얻을 수 있습니다.
EMPLOYEES 테이블과 DEPARTMENTS 테이블 두 테이블을 조인한 결과
WHERE 절의 조건을 통하여 두 테이블을 조인한 결과입니다.
이 때 주의하셔야 할 점은 별칭(Alias)이라는 부분입니다.
말씀드렸다시피 EMPLOYEES 테이블과 DEPARTMENTS의 테이블에는 department_id라는 공통 컬럼이 있습니다.
이 컬럼이 어느 테이블의 컬럼인지 구분하기 위해서는 emp, dep와 같이 해당 테이블의 별칭을 정해주셔야 합니다.
그리고 꼭 조건이 있어야 원하시는 데이터를 출력하실 수 있습니다.
만약 여기서 조건이 빠지게 된다면 어떻게 될까요?
데이터는 출력되지만 카타시안 프로덕트라고 하여 양 테이블의 데이터가 N:N 매핑된 값들이 출력됩니다.
– 안티 조인
말 그대로 조건의 반대의 데이터를 처리하는 조인입니다.
NOT IN 혹은 NOT EXISTS를 사용하여 조건에 해당되지 않은 데이터들을 처리합니다.
EX) 안티조인, LOCATION_ID가 1700이 아닌 EMPLOYEES를 출력
보시면 NOT IN을 이용하여 서브쿼리에 의해 이미 출력된 데이터 중에서 해당되지 않은 데이터들만 조건을 통해 출력하도록 하였습니다.
– 세미 조인
세미 조인은 EXISTS 연산자를 사용하여 서브쿼리에 해당되는 데이터들을 처리하는 조인입니다.
이번에는 안티 조인과 반대로 LOCATION_ID가 1700인 사원들이 존재하는지 확인하여 출력하도록 하였습니다.
4. 외부 조인
내부 조인의 경우 조건에 만족하지 않을 경우 출력되지 않는 데이터들이 있습니다.
예를들어 DEPARTMENT_ID가 NULL인 경우 조건에 만족하지 않기 때문에 조인한 결과에 해당 데이터가 출력되지 않을 수 있습니다.
이 때 외부조인을 사용할 경우 해당 데이터까지 확인할 수 있습니다.
즉, 조인조건을 만족하는 데이터를 출력하지만 만족하지 않는 데이터도 출력할 수 있게 해주는 조인입니다.
마찬가지로 예를 들면서 확인해보도록 하겠습니다.
EMPLOYEES의 테이블에 저장된 데이터 수를 보시면 총 107개의 데이터가 있습니다.
하지만 EMPLOYEES 테이블과 DEPARTMENTS 테이블을 내부조인한 결과 106개의 데이터만 출력되고 있습니다.
이유는 EMPLOYEES 테이블의 DEPARTMENT_ID 데이터 중 NULL값이 있어 조건에 만족하지 못하였기 때문입니다.
이 때 107개의 데이터를 다 출력하고 싶다면 외부조인을 사용하시면 됩니다.
외부조인은 출력되지 않은 데이터를 가진 테이블과 조인한 테이블 쪽에 (+)를 추가하여 사용합니다.
사용하실 때 주의하실 점은 보고싶은 데이터가 있는 테이블의 반대 쪽에 테이블 쪽에 (+)를 하셔야 합니다.
만약 emp.department_id 쪽에 (+)를 하게 되면 반대로 DEPARTMENTS 테이블에 있는 데이터가 출력될 수 있습니다.
그리고 외부조인을 사용하기 위해서는 몇가지 규칙들이 있습니다.
a) (+)는 WHERE 절에서만 사용 가능
b) 조인 조건외에 다른 조건이 올 경우 해당 조건에도 (+)를 추가
c) (+)는 컬럼에만 사용이 가능하며, OR 연산자와는 사용할 수 없음
d) 오직 하나의 테이블과 외부 조인이 가능
e) IN과 서브쿼리와는 함께 사용할 수 없음
f) 조건 중 한 쪽에만 (+)를 추가할 수 있음
5. ANSI 조인
ANSI SQL 표준과 호환하여 사용할 수 있는 조인입니다.
즉, 내부 조인, 외부 조인을 ANSI 표준에 따라 사용하는 조인입니다.
1) ANSI 내부 조인
ANSI 표준의 내부 조인입니다.
먼저 사용 방법입니다.
ANSI 조인의 경우 쿼리에 조인이라는 것을 확실하게 명시하여 사용하고 WHERE절 조건을 통해 조인을 하는 것이 아니라 FROM 절에 작성합니다.
그리고 WHERE 절에는 조인 조건이 아닌 일반 조건만 작성하게 됩니다.
대신 공통 컬럼에 대한 정보가 있어야하기 때문에 ON 혹은 USING을 사용하여 공통 컬럼을 나열합니다.
USING의 경우 두 테이블의 컬럼명이 같을 경우 사용합니다.
예를 들면 위의 경우 EMPLOYEES 테이블과 DEPARTMENTS 테이블을 조인하고자 하는 컬럼명이 department_id로 같기 때문에 ON 문장을 USING(department_id)로 변경하여도 동일한 결과를 얻으실 수 있습니다.
2) 크로스 조인
ANSI 조인에서 크로스 조인은 일반 내부 조인의 카다시안 프로덕트와 같은 조인입니다.
마찬가지로 사용하게 되면 조인하고자 하는 테이블들의 데이터들을 N:N으로 매핑한 데이터들을 처리할 수 있습니다.
3) ANSI 외부 조인
ANSI 외부 조인의 경우 마찬가지로 명시적으로 JOIN이란 걸 작성해주기 때문에 (+)를 추가할 필요가 없습니다.
그럼 어떻게 명시를 하는지 알아보도록 하겠습니다.
ANSI 외부 조인에는 LEFT | RIGHT | FULL OUTER JOIN이 있습니다.
LEFT의 경우 ANSI 외부 조인을 통해 보고 싶은 데이터가 있는 테이블을 왼쪽에 있을 때 사용합니다.
내부 조인을 하였을 때 보이지 않았던 데이터가 외부 조인을 하였을 때 보이시는 것을 보실 수 있습니다.
이 이유는 위에서 외부 조인을 설명했을 때와 같은 이유인데요.(NULL인 데이터)
이 때 이 데이터는 EMPLOYEES 테이블에만 있는 데이터입니다.
이 데이터를 보기 위해 FROM 절에 lEFT OUTER JOING을 이용하여 출력하였습니다.
그럼 반대로 RIGHT를 하게되면 어떻게 될까요?
RIGHT OUTER JOIN을 하게 되면 이젠 보이지 않았던 DEPARTMENTS 테이블에 있는 데이터가 보이게 됩니다.
마지막으로 FULL OUTER JOIN을 사용하게 되면 양쪽의 데이터가 모두 출력되게 됩니다.
EMPLOYEES의 107번 째의 데이터와 DEPARTMENTS의 16개의 데이터를 보실 수 있습니다.
FULL OUTER JOIN은 일반 외부 조인에서는 지원을 하지 않고 ANSIN 외부 조인에서만 지원하는 문법입니다.
이렇게 조인에 대해 알아봤습니다.
어떤 조인을 사용하실 지는 상황에 맞게 사용하시면 될 것으로 보입니다.
만약, 다른 DBMS화 호환성을 생각하여 조인을 사용하신다면 ANSI 조인을 사용하시기 바랍니다.
반응형
[Join] 오라클 조인하기, 조인의 종류, 이너조인
728×90
JOIN의 종류 네가지.
1 INNER JOIN
2 LEFT OUTER JOIN
3 RIGHT OUTER JOIN
4 FULL OUTER JOIN
1 INNER JOIN
Inner join은 교집합( A ∩ B ) 연산과 같습니다. 조인 키 컬럼 값이 양쪽 테이블 데이터 집합에서 공통적으로 존재하는 데이터만 조인해서 결과 데이터 집합으로 추출
이너조인은 생략할수있고, 콤마로 나타낼수 있다.
<사용법> SELECT 컬럼명 [, 컬럼명] FROM 테이블A [INNER] JOIN 테이블B ON 테이블A.조인키컬럼 = 테이블B.조인키컬럼 ; 또는 SELECT 컬럼명 [, 컬럼명] FROM 테이블A , 테이블B WHERE 테이블A.조인키컬럼 = 테이블B.조인키컬럼;
ex) SELECT * FROM member, store FROM member.membernum = store.membernum
2 LEFT OUTER JOIN
Left outer join은 교집합 연산 결과와 차집합 연산 결과를 합친 것( (A ∩ B) ∪ (A – B) )과 같습니다.
조인 키 컬럼 값이 양쪽 테이블 데이터 집합에서 공통적으로 존재하는 데이터와 Left outer join 키워드 왼쪽에 명시된 테이블에만 존재하는 데이터를 결과 데이터 집합으로 추출
<사용법> SELECT 컬럼명 [, 컬럼명] FROM 테이블A LEFT OUTER JOIN 테이블B ON 테이블A.조인키컬럼 = 테이블B.조인키컬럼; 또는 SELECT 컬럼명 [, 컬럼명] FROM 테이블A, 테이블B WHERE 테이블A.조인키컬럼 = 테이블B.조인키컬럼(+);
3 RIGHT OUTER JOIN
Right outer join도 교집합 연산 결과와 차집합 연산 결과를 합친 것( (A ∩ B) ∪ (B-A) )과 같습니다.
차집합의 기준 집합이 Left outer join과 반대일 뿐입니다.
아무튼 조인 키 컬럼 값이 양쪽 테이블 데이터 집합에서 공통적으로 존재하는 데이터와 Right outer join 키워드 오른쪽에 명시된 테이블에만 존재하는 데이터를 결과 데이터 집합으로 추출
<사용법> SELECT 컬럼명 [, 컬럼명] FROM 테이블A RIGHT OUTER JOIN 테이블B ON 테이블A.조인키컬럼 = 테이블B.조인키컬럼; 또는 SELECT 컬럼명 [, 컬럼명] FROM 테이블A, 테이블B WHERE 테이블A.조인키컬럼(+) = 테이블B.조인키컬럼;
4 FULL OUTER JOIN
Full outer join은 합집합 연산 결과와 같습니다.
조인 키 컬럼 값이 양쪽 테이블 데이터 집합에서 공통적으로 존재하는 데이터와 한쪽 테이블에만 존재하는 데이터도 모두 결과 데이터 집합으로 추출
<사용법> SELECT 컬럼명 [, 컬럼명] FROM 테이블A FULL OUTER JOIN 테이블B ON 테이블A.조인키컬럼 = 테이블B.조인키컬럼; 또는 SELECT 컬럼명 [, 컬럼명] FROM 테이블A FULL OUTER JOIN 테이블B ON 테이블A.조인키컬럼 = 테이블B.조인키컬럼;
여기서 왜 굳이 2번과 3번을쓸까(left, right join) -> null값이 표시되기때문!
조인은 테이블들에 관계를 부여하고, 그 데이터를 조작하고자 함에 있다.
관계를 맺고 있는 2개의 테이블의 데이터를 다음과 같이 조작할수 있다.
1. 부모 테이블의 조작
2. 자식 테이블의 조작
하지만, 조인하게되면 다음과 같은 상황이생긴다.
(부모 테이블이 staff, 자식 테이블이 project라고 가정)
1.a. 신입 사원 추가(O)
insert into tblStaff (seq, name, salary, address) values (4, ‘호호호’, 190, ‘부천시’);
1.b. 신규 프로젝트 추가(O)
insert into tblProject (seq, projectname, staffSeq) values (6, ‘자재 매입’, 4);
1.c. 신규 프로젝트 추가(O -> X)
–ORA-02291: integrity constraint (HR.TBLPROJECT_STAFFSEQ_FK) violated – parent key not found
insert into tblProject (seq, projectname, staffSeq) values (7, ‘고객 유치’, 5);
즉, staffSeq에 해당하는 직원의 키가 없으므로 tblProject 테이블의 staffSeq 컬럼에는 아무값이나 넣을 수 없고, tblStaff 컬럼에 있는 PK에 값이 있어야 삽입할 수 있다.
관계에의한 키값을 살펴야 하는것이다.
자세한 예시는 참고 블로그에.
조인 쉽게하는법.
1. 검색 대상과 조건을 찾는다.
– 검색 대상은 SELECT 절에, 조건은 WHERE 절에 기술한다.
2. 검색될 정보를 가지고 있는 테이블을 파악한다.
– FROM 절에 기술한다.
3. 테이블간의 관계를 확인한다. (연결 고리를 찾는다)
– 연결 고리가 없다면 중계자 역할을 할 수 있는 테이블을 추가한다.
4. 조인 조건을 기술한다.
5. 전체 문장을 다듬는다.
– 간결하게 만들기 등
참고한블로그
[출처]https://sparkdia.tistory.com/17 (join의 종류) [출처]sas-study.tistory.com/81 (조인상세 예시) [출처]keep-cool.tistory.com/39 (sql작성 예시)728×90
So you have finished reading the 오라클 조인 topic article, if you find this article useful, please share it. Thank you very much. See more: 오라클 조인 정리, 오라클 조인 종류, 오라클 조인 중복제거, 오라클 조인 예제, 아우터조인, 오라클 조인 여러개, 오라클 조인 순서, 오라클 내부조인