SQL with, inlineView, subQuery join

Quill_Kim_13·2023년 8월 20일
0

sql 공부

목록 보기
1/7

with

with는 임시테이블 또는 가상테이블의 개념이며, 반복되는 서브쿼리 블록을 하나의 with절 블록으로 만들어서 사용할 수 있다.
이름이 부여된 서브쿼리

임시테이블을 만든다는 관점에서 본다면 view와 쓰임새가 비슷한데 차이점이 있다면 view는 한번 만들어 놓으면 drop할때까지 없어지지 않지만, with절 같은 경우 한번 실행할 쿼리문 내에 정의 되어 있을 경우 그 쿼리문 안에서만 실행된다.

with로 사용한 임시 테이블은 해당 sql내에서 재사용이 가능하기 때문에, 한번만 사용하는 sql문에서는 굳이 with 절을 사용할 필요가 없지만, 재사용을 필요한 상황에서는 with절을 사용하는 것이 편리하다.

inlineView

서브쿼리가 from 절의 안에서 사용되는 경우, 해당 서브쿼리를 '인라인뷰'라고 한다. from 절에서 사용된 서브쿼리의 결과가 하나의 테이블에 대한 뷰(view)처럼 사용된다.

서브쿼리

  • 서브쿼리란 select 문 안에 다시 select문이 기술된 형태의 쿼리.

  • 뷰는 저장장치 내에 물리적으로 존재하지 않지만 사용자에게 있는 것처럼 보여지는 가상의 테이블이다.


subQuery

sql 문장 안에서 보조로 사용되는 또 다른 select문을 의미하는데, 최종 결과를 출력하는 쿼리를 메인 쿼리라고 한다면, 이를 위한 중간 단계 혹은 보조 역할을 하는 select문을 서브 쿼리라 한다.

  • 스칼라 서브쿼리(scalar subQuery)
    select 절에서 사용하는 서부쿼리 이며, 스칼라서브쿼리에 의해 나오는 결과는 하나의 행이어야 한다.
  • 인라인뷰(inlineView)
    인라인뷰는 from 절에 사용되는 서브쿼리이며, 하나의 임시 테이블이라고 생각할 수 있다. 메인쿼리에서는 인라인 뷰에서 select한 컬럼만 사용 가능 한다.
  • 서브쿼리
    서브 쿼리는 where 절에서 사용하는 쿼리며, 서브쿼리의 결과가 단일행이면 단일행 서브 쿼리, 복수행이면 복수행 서브쿼리라 부른다.

join

profile
미친개발자를향해

0개의 댓글

관련 채용 정보