[SQL] 인라인뷰란 무엇인가

Dev. 로티·2022년 1월 14일
1

데이터베이스

목록 보기
2/4
post-thumbnail

인라인 뷰란 FROM 절에 포함되어있는 서브쿼리를 의미하는데,
하나의 SQL을 실행 후 생성되어 SQL이 종료되면 사라지는 가상의 테이블입니다.

처리 결과를 하나의 테이블로 사용하고 싶을 때 사용할 수 있는 특징을 갖고 있습니다.

FROM 절에서 사용하는 테이블의 규모가 클 경우 최소한으로 구성된 가상의 테이블을 생성함으로써 다양한 이점을 가질 수 있다고 생각합니다.

예를들어 회원(users) 리스트를 출력하는데 좋아요(like)를 한번이라도 눌렀던 회원 기준으로, 각각의 회원이 좋아요를 얼마나 눌렀는지에 대해 함께 알고 싶을 경우 스칼라 서브쿼리를 통해 SQL을 구현할 수도 있으나,
저는 여기서 인라인 뷰를 사용해서 구현해보도록 하겠습니다.

SELECT u.id, l.totalCnt
FROM users u, (SELECT COUNT(*) totalCnt, user_id
		FROM like
		GROUP BY user_id
) l
WHERE u.id = l.id

인라인 뷰를 통해 먼저 가상의 테이블을 생성한 후 그 테이블 기준으로 join을 수행한 것을 볼 수 있습니다.

0개의 댓글