스칼라 서브쿼리 인라인뷰 서브쿼리

Posted by HULIA(휴리아)
2019. 11. 2. 23:52 백엔드개발/데이터베이스

쿼리에서

SELECT 문안에 SELECT 문이 들어갈 수 있는 세곳입니다

1)SELECT 절

2)FROM 절

3)WHERE 절

 

각각의 SELECT절을 지칭하는 명칭이 다릅니다

1)SELECT 문에 SELECT절을 스칼라 서브쿼리라고 합니다

2)SELECT 문에 FROM절 안에 들어가는 SELECT절을 인라인 뷰라고 합니다

3)SELECT 문에 WHERE절 안에 들어가는 SELECT절을 서브쿼리라고 합니다

 

그리고 주의점도 있습니다

1)스칼라 서브쿼리

하나의 레코드만 출력이 가능(두개 이상의 레코드일때는 사용할 수 없음)

일치하는 데이터가 없더라도 NULL값을 출력 가능

성능상 좋지 않기 때문에 사용하지 않는게 좋지만 단순히 코드에 따른 코드명출력할때는 사용하는게 좋을 수 있습니다

 

2)인라인 뷰

일종의 테이블이기 때문에 조인조건을 줄 수 있습니다

그래서 별칭을 주어야 하고 인라인뷰의 컬럼명도 별칭을 주어서 연결을 잘 시켜줘야 합니다

 

3)서브쿼리

기본적으로 단일행 서브쿼리가 있지만

IN, ANY, ALL과 결합되어서 아래와 같은 서브쿼리가 생기기도 합니다~

3.1)다중행 서브쿼리

3.2)다중컬럼 서브쿼리