일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- coding test
- 프로젝트
- Controller
- 코딩테스트
- React
- 스프링
- 자취
- 팀프로젝트
- MVC
- 백준
- 디자인패턴
- 코테
- SpringBoot
- javascript
- 공유DB
- spring
- Project
- JDK
- spring boot
- 취준생
- 입출력
- jdk11
- 자바
- Java
- JPA
- AWS
- IntelliJ
- gradle
- ps
- MariaDB
Archives
- Today
- Total
Tech Collection
[SQL] JOIN 본문
728x90
반응형
- 조인을 명시할 때는 확실하게 구체적으로 표시하기 (INNER JOIN / LEFT OUTER JOIN..)
- Row가 적은 **Driving Table(outer table) + Driven Table(inner table)**의 조인키는 인덱스 사용하기
- 실행속도 = 외부 루프 테이블 사이즈 * 내부 루프 테이블 접근 횟수
- USE INDEX 를 사용하는 것보다 인덱스를 조인의 조건으로 사용하는 것이 훨씬 효율적이다.
- 내부 조인 (INNER JOIN)
- INNER JOIN
- EQUI JOIN
- 연산자 : =
- NON-EQUI JOIN
- 연산자 : >, <, ≥, ≤
- CROSS JOIN
- 두 테이블의 카티션 프로덕트(곱집합)
- NATURAL JOIN
- 같은 이름을 가진 컬럼은 한 번만 추출된다.
- 외부 조인 (OUTER JOIN)
: 조인했을 때 한 쪽의 테이블에 데이터가 없어도 조인 결과에 포함시킨다.- LEFT OUTER JOIN
- RIGHT OUTER JOIN
- FULL OUTER JOIN : 완전 외부 조인
- 왼쪽 외부 조인 + 오른쪽 외부 조인
- UNION : 중복된 행 제거, 두 쿼리 결과 합침
- UNION ALL : 두 쿼리 결과 모두 합침
- SELECT 문장 1과 2가 결과 열의 개수가 같아야 한다.
SELECT Name, Addr FROM StudentTable UNION [ALL] SELECT Name, Addr FROM ClubTable;
- 기타 조인
- ANTI JOIN
- 서브쿼리 내에서 존재하지 않는 데이터만 추출하여 메인 쿼리에서 추출하는 조인
- SEMI JOIN
- 서브쿼리 내에서 존재하는 데이터만 가지고 메인 쿼리에서 추출하는 방식
- SELF JOIN
- 동일한 한 테이블로 조인
- ANTI JOIN
728x90
반응형
'Concept > Note' 카테고리의 다른 글
[SQL] 실행 계획 (0) | 2021.05.30 |
---|---|
[SQL] SubQuery (0) | 2021.05.30 |
[SQL] Index (0) | 2021.05.30 |
[Interview] Java 기초 정리 (0) | 2021.04.09 |