츄르사려고 코딩하는 코집사입니다.
1. 서브 쿼리(Subquery)
- 다른 쿼리 내부에 포함되어 있는 SELECT 문
- 서브 쿼리(Subquery)를 포함하고 있는 쿼리 -> 외부쿼리, 메인쿼리
- 서브 쿼리는 내부 쿼리라고도 부름
- 서브 쿼리는 비교 연산자의 오른쪽에 기술해야 하고, 반드시 괄호로 감싸야 함
- 서브 쿼리에서는 order by를 사용하지 못함
2. 서브 쿼리(Subquery)의 종류
1) 중첩 서브 쿼리(Nested Subquery) Where 문에 작성하는 서브 쿼리
- 단일행
- 복수(다중) 행
- 다중 컬럼
2) 인라인(Inline View)
- FROM문에 작성하는 서브 쿼리
3) 스칼라 서브 쿼리(Scalar Subquery)
- SELECT문에 작성하는 서브 쿼리
3. 서브 쿼리(Subquery)가 사용 가능한 곳
- select
- from
- where
- having
- order by
- insert 문의 values
- update 문의 set
4. 서브 쿼리(Subquery)를 사용하는 이유
- 다른 2개의 테이블을 join할 경우에는 쿼리가 복잡하거나 카테시안곱으로 인해 속도가 느려질 수 있다.
- 이럴 때 서브 쿼리를 사용하여 속도 저하 문제를 해결할 수 있음
5. 단일행 쿼리(Nested Subquery)
- 단일행 쿼리를 사용했을 때 결과를 단일행으로 리턴
6. 다중행 쿼리
- 다중행 쿼리를 사용했을 때 결과를 다중행으로 리턴
- 다중행을 리턴하려면 IN, ANY, ALL을 사용
- ANY는 적어도 하나만 만족하면 true를 리턴
- ALL은 모두 만족하면 true를 리턴
7. 인라인 뷰(Inline View)
- FROM절에 사용되는 서브 쿼리
- 서브 쿼리가 FROM절에 사용되면 VIEW처럼 결과가 동적으로 생성된 테이블로 사용 가능
- DB에는 저장되지 않음 -> 임시적으로 만든 뷰(View)이기 때문에
- 동적으로 생성된 테이블이기 때문에 컬럼을 자유롭게 참조가 가능하다.
'IT > DB' 카테고리의 다른 글
티베로(Tibero) 엑셀파일 업로드 하는 방법(expImp 사용 X, Tibero Studio 2) (0) | 2022.04.07 |
---|---|
엑셀(Excel)에서 2개 이상의 열을 기준으로 중복값 찾기 (0) | 2022.04.07 |
SQL WHERE 1=1과 1=2 사용하는 이유 (0) | 2022.02.10 |
데이터베이스(DB) JOIN(INNER JOIN / LEFT JOIN / RIGHT JOIN / OUTER JOIN) 정리 (0) | 2021.10.25 |
데이터베이스(DB) JOIN 정리 (0) | 2021.04.06 |
MySQL 데이터베이스 정리 (0) | 2021.04.06 |
JDBC(Java DataBase Connectivity) INSERT 기초 예제 (0) | 2021.03.11 |
JDBC(Java DataBase Connectivity) 기초 맛보기 (0) | 2021.03.11 |
최근댓글