SQL Subquery 사용하기

이정기·2022년 11월 5일
0

TIL

목록 보기
10/71
post-thumbnail

Subquery 형태

Select * from 테이블 A
where 필드a in (
	Select 필드 a from 테이블 B
    where 필드b 조건문
)

() 안에 Select 문을 Subquery 라 한다.

Subquery 에서 흔이 사용되는 방법

where 에 들어가는 Subquery

Select * from 테이블 A
where 필드a in (
	Select 필드 a from 테이블 B
	where 필드b 조건문
)

where 문 사용할 때 안에 Subquery 의 Select 문 필드 이름을 밖에 있는 where 문 필드와 연결 시켜준다는 느낌으로 작성

select 에 들어가는 Subquery

Select A.필드a ,
	   A.필드b ,
       A.필드c ,
       (
       select avg(필드) from 테이블
       where 필드 = A.필드
       )
  from 테이블A A

Select 문이 실행될 때 하나하나에 대해서 Subquery 가 실행된다.

from 에 들어가는 Subquery

Select A.필드 , A.필드, a.필드 from 테이블A A
inner join(
	select 필드, avg(필드) from 테이블B B
    group by 필드
)a on A.필드 = a.필드

join 테이블 사용할 때 처럼 서브쿼리에도 가상이름을 작성하는걸 잊으면 안된다.

Subquery 잘쓰는 팁

먼저 필요한 정보를 따로 구해보기
목표로 원하는 정보를 먼저 구하고 <모두 따로 구해보기> join 이나 in 으로 이어버리자.

용도 별 주의사항

  • where 절의 Subquery 는 테이블에서 추가조건을 표시하고 싶을 때, 서브쿼리 안 Select 선택이 중요하다.

  • Select 는 하나하나에 대해서 Subquery 가 실행되니 where 절의 조건식을 필드로 가져와야 한다.

  • from 의 Subquery는 join 으로 큰 테이블을 만든다 생각하고 테이블의 약어를 붙여주는 것 또한 잊지 말자.

profile
Node.js 로 꿈을 꾸었다..

0개의 댓글