데이터 엔지니어링/SQL

[SQL] 서브쿼리

허니비 honeybee 2022. 11. 23. 19:20

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
반응형