서브쿼리

highway92·2021년 9월 14일
0

SQL

목록 보기
5/11

1. 서브쿼리

정의

서브쿼리란 하나의 쿼리 안에 포함된 또 하나의 쿼리를 뜻한다.
메인쿼리가 서브쿼리를 포함하는 종속적인 관계를 가진다.

특징

  • 알려지지 않은 기준을 이용한 검색에 유용하다.

  • 메인 쿼리가 실행되기 이전에 한 번만 실행된다.

  • 한 문장에서 여러 번 사용 가능하다.

예시


select * from employee where 급여 > 
(select 급여 fom employee where id = 1)
-- 사원 id가 1인 사람의 급여보다 많은 사람들을 검색하고 싶을 때 --

사용시 주의사항

  • 서브쿼리는 반드시 괄호와 함께 사용되야 한다.

  • 서브쿼리 안에서 order by 를 사용 할 수 없다.

  • 서브쿼리는 연산자의 오른쪽에 사용되어야 한다.

  • 서브쿼리는 오로지 select 문으로만 작성 가능하다.

2. 단일, 다중 행 서브쿼리

단일 행 서브쿼리의 정의

결과가 한 행만 나오는 서브쿼리를 뜻한다.

단일 행 서브쿼리 연산자

다중 행 서브쿼리의 정의

결과가 2개 이상의 행이 나오는 서브쿼리를 뜻한다.

다중 행 서브쿼리 연산자

<any 는 최대값을 뜻한다.

>all 는 최대값을 뜻한다.

>any 는 최소값을 뜻한다.

<all 는 최소값을 뜻한다.

3. 스칼라 서브쿼리

정의

select 절에서 사용하는 서브쿼리로 스칼라 서브쿼리는 오로지 한 행만 반환한다.
마치 join을 사용한 것과 같은 결과를 나타낸다.

예시


select students.name, (
select math
from middle_test as m
where m.student_id = students.student_id
) as middle_avg
from students;
profile
웹 개발자로 활동하고 있습니다.

0개의 댓글