반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- springboot
- 생성자 주입
- Effective Java
- @Configuration
- 스프링 빈
- jdbc
- assertThrows
- 스프링 부트 입문
- db
- SQL
- assertThat
- DIP
- spring
- 스프링 부트
- 스프링 프레임워크
- 스프링
- 스프링 부트 기본
- thymeleaf
- resultMap
- kafka
- sqld
- 필드 주입
- DI
- 스프링 컨테이너
- 스프링부트
- Javascript
- JPA
- java
- 싱글톤
- mybatis
Archives
- Today
- Total
선 조치 후 분석
[SQL] INNER JOIN (내부조인), EQUI JOIN , NATURAL JOIN 란? 그리고 차이점은? 본문
Solution/DB
[SQL] INNER JOIN (내부조인), EQUI JOIN , NATURAL JOIN 란? 그리고 차이점은?
JB1104 2022. 2. 23. 21:20728x90
반응형
SMALL
INNER JOIN (내부 조인) - INNER JOIN은 둘 이상의 테이블에 존재하는 공통 속성의 값이 같은 것을 결과로 추출.
INNER JOIN 종류
1. EQUI JOIN (동등 조인) - 둘 이상의 테이블에 존재하는 공통 속성의 동등 비교만을 사용하며, 부등호 조인은 동등 조인에 포함되지 않음.
※ EQUI JOIN 표현법 :
1) 명시적 표현법 - ON키워드로 어떤 구문을 조인할 것인지 지정
SELECT A.POINT_CD AS POINT_CD
, A.TP_VEND_CD AS TP_VEND_CD
, A.PP_VEND_CD AS PP_VEND_CD
, A.WD_DESC AS WD_DESC
, A.POINT_VEND_KEY AS POINT_VEND_KEY1
, A.POINT_VEND_KEY AS POINT_VEND_KEY2
, A.CREATE_DT AS CREATE_DT
, A.CREATE_POS AS CREATE_POS
, A.CREATE_USER AS CREATE_USER
, A.MODIFY_DT AS MODIFY_DT
, A.MODIFY_POS AS MODIFY_POS
, A.MODIFY_USER AS MODIFY_USER
, B.CUST_CD AS CSUT_CD
FROM TABLEA A, TABLEB B
WHERE A.POINT_CD = B.POINT_CD
2) 묵시적 표현법 - FROM 구문에서 단순히 , (콤마)를 사용하여 나열
SELECT A.POINT_CD AS POINT_CD
, A.TP_VEND_CD AS TP_VEND_CD
, A.PP_VEND_CD AS PP_VEND_CD
, A.WD_DESC AS WD_DESC
, A.POINT_VEND_KEY AS POINT_VEND_KEY1
, A.POINT_VEND_KEY AS POINT_VEND_KEY2
, A.CREATE_DT AS CREATE_DT
, A.CREATE_POS AS CREATE_POS
, A.CREATE_USER AS CREATE_USER
, A.MODIFY_DT AS MODIFY_DT
, A.MODIFY_POS AS MODIFY_POS
, A.MODIFY_USER AS MODIFY_USER
, B.CUST_CD AS CSUT_CD
FROM TABLE A
JOIN TABLEB B
ON A.POINT_CD = B.POINT_CD;
2. NATURAL JOIN (자연 조인) - 동등 조인과 거의 유사. 단, 조인 대상 테이블의 모든 칼럼을 비교하여 같은 칼럼명을 가진 대상으로 조인. 그리고 중복된 칼럼은 한 번만 출력.
즉, 공통 칼럼이 있으면 공통 칼럼의 값이 다 같은 값을 출력해온다.
추가로 Using 조건절, ON 조건절, WHERE 절에 JOIN 조건을 정의할 수 없음.
EQUI JOIN과의 차이점
: POINT_CD가 2번 출력되는 EQUI JOIN과 반대로 NAUTRAL JOIN은 1번만 출력이 된다. => 중복 X
: 공통 칼럼들의 값과 다 같지 않기 때문에 출력되지 않는다.
SELECT *
FROM TABLEA A, TABLEB B
WHERE A.POINT_CD = B.POINT_CD
SELECT *
FROM TABLEA
NATURAL JOIN TABLEB
INNER JOIN에 대해서 종류가 몇 가지 더 있지만 여기서는 EQUI JOIN과 NATURAL JOIN에 대해서 알아보았다.
728x90
반응형
LIST
'Solution > DB' 카테고리의 다른 글
[ORACLE] 딕셔너리 뷰 USER_TAB_MODIFICATIONS (0) | 2022.11.16 |
---|---|
[SQL - ORACLE] selectKey?, 생성된 값 바로 사용하는 방법 (0) | 2022.09.22 |
[SQL] WHERE 절 <if> 와 <isNotEmpty> 차이 (0) | 2022.02.14 |
DECODE 함수 사용법 (0) | 2021.12.28 |
[MyBatis] resultMap? resultClass? 차이는? (0) | 2021.11.16 |