일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- MariaDB
- ps
- Controller
- 입출력
- IntelliJ
- spring boot
- React
- 공유DB
- 취준생
- 자바
- AWS
- 팀프로젝트
- 스프링
- MVC
- 자취
- gradle
- 디자인패턴
- spring
- coding test
- Java
- JPA
- SpringBoot
- 백준
- jdk11
- 코딩테스트
- 프로젝트
- javascript
- 코테
- JDK
- Project
Archives
- Today
- Total
Tech Collection
[SQL] SubQuery 본문
728x90
반응형
- 하나의 SQL문 안에 포함되어있는 또 다른 SQL문
- 메인쿼리가 서브쿼리를 포함하는 종속적인 관계
- 단일 행 서브쿼리
- 서브쿼리의 질의 실행 결과가 항상 1건 이하인 서브쿼리를 의미
단일 행 비교 연산자
연산자 | 의미 |
> | 크다 |
< | 작다 |
>= | 크거나 같다 |
<= | 작거나 같다 |
= | 같다 |
!=, <>, ^= | 다르다 |
- 다중 행 서브쿼리
- 서브쿼리의 결과가 여러 건인 서브쿼리를 의미
- 만약, 서브쿼리에서 반환 값이 없으면 메인 쿼리에서도 반환 값이 없다.
다중 행 비교 연산자
연산자 | 의미 |
IN | 하나라도 일치 ( null 값은 표현 안 함 ) |
>ANY <ANY |
하나라도 크면 하나라도 작으면 |
>ALL <ALL |
모두 크면 모두 작으면 |
EXISTS | 존재하면 ( null 값도 표현 ) |
- 다중 컬럼 서브 쿼리
- 서브 쿼리의 실행 결과로 여러 컬럼을 반환
- 메인쿼리 WHERE절과 서브쿼리에서 반환하는 컬럼의 수가 반드시 같아야 함
- IN 주로 사용
다중 컬럼 비교 연산자
연산자 | 의미 |
IN | 하나라도 일치 |
= | 같다 |
- 스칼라 서브쿼리
- 한 레코드당 정확히 하나의 값만을 리턴하는 서브쿼리
- 행 수 만큼 서브쿼리 수행
- LEFT OUTER JOIN 과 같다
- 스칼라 서브쿼리 수행 회수를 최소화하려고 그 입력 값과 출력 값을 내부 캐시에 저장해둔다.
- 입력 값이 소수인 경우에 캐시에 효과를 볼 수 있어 조인보다 성능이 더 좋다.
- 저장된 캐시 개수가 일정 범위를 넘어서면 매번 서브 쿼리를 반복 수행하게 된다.
728x90
반응형
'Concept > Note' 카테고리의 다른 글
[SQL] 실행 계획 (0) | 2021.05.30 |
---|---|
[SQL] JOIN (0) | 2021.05.30 |
[SQL] Index (0) | 2021.05.30 |
[Interview] Java 기초 정리 (0) | 2021.04.09 |