1. 서브쿼리란?
SQL 에서 서브쿼리란 하나의 쿼리 내에 포함된 또 하나의 쿼리인데, 반드시 괄호 안에 있어야 서브쿼리로 인식된다
SELECT, FROM, WHERE, HAVING, ORDER BY, INSERT, UPDATE, DELETE 문에서 사용 가능하다
2. SELECT 절의 서브쿼리
SELCT 절의 서브쿼리는 스칼라 서브쿼리라고도 부르는데, 반드시 결과값이 하나의 값이어야 한다는 특징이 있다
이런식으로! 다른 테이블에서 하나 더 가져오고 싶은 경우 쓰면 된다.
3. FROM 절의 서브쿼리
FROM 절의 서브쿼리는 인라인 뷰 서브쿼리라고도 하는데, 반드시 결과값이 하나의 테이블이여야 하고, 반드시 별명이 있어야 한다.
이런식으로! 쓸 수 있다.
4. WHERE 절의 서브쿼리
WHERE 서브쿼리는 중첩 서브쿼리라고도 부르고, 결과값은 반드시 하나의 컬럼이어야 한다. (물론 여러 값이 존재할 수 있다) 보통 연산자와 함께 활용한다.
조건을 달 때 쓰는게 WHERE 절이기 때문에 더 복잡한 문법을 활용할 수 있는 것 같다. WHERE 서브쿼리를 쓰면 굳이 귀찮게 데이터 조인 안 하고 두 테이블을 비교한 조건을 쓸 수 있다
이때! EXSISTS 는 SELECT * 을 해도 먹는다. 있는지 없는지만 확인하는거기 때문...
이런식으로 사용 가능하다
728x90
반응형
'데이터 엔지니어링 > SQL' 카테고리의 다른 글
[SQL] 숫자형 데이터에서 자주 쓰는 모듈 (0) | 2022.11.24 |
---|---|
[SQL] 문자형 데이터에서 자주 쓰는 모듈들 LOCATE, SUBSTRING, REPLACE 등 (0) | 2022.11.24 |
[SQL] 데이터 줄세우기 RANK, DENSE_RANK, ROW_NUMBER (0) | 2022.11.24 |
[SQL] 여러 테이블 한번에 다루기 (0) | 2022.11.17 |
[SQL] SQL의 여섯가지 조인 방법 + 예제 (0) | 2022.11.15 |