gambae programing

서브쿼리 본문

Database/Sql

서브쿼리

gambae 2022. 4. 28. 17:40

1. 서브쿼리

 

서브쿼리 : 하나의 쿼리 안에 포함된 또 하나의 쿼리 , 메인 쿼리가 서브쿼리를 포함하는 종속적인 관계

 

단일 행 서브쿼리 : 서브쿼리가 결과를 1개의 값만 반환하고 이 결과를 메인쿼리로 전달하는 쿼리

 

서브쿼리의 특징

- 알려지지 않은 기준을 이용한 검색에 유용

- 메인 쿼리가 실행되기 이전에 한 번만 실행

- 한 문장에서 여러 번 사용 가능

 

select * from employee

where 급여 >

(select 급여 from employee where 이름 = 'elice');  // 사원 엘리스의 급여를 알지 못해도 검색 가능

 

서브쿼리 사용시 주의사항

- 서브쿼리는 괄호와 함께 사용한다

- 서브쿼리 안에서 order by절은 사용할 수 없다

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

- 서브쿼리는 오로지 select문으로만 작성 할 수 있다.

2. 반환에 따른 분류

 

다중 행 서브쿼리 : 서브쿼리가 결과를 2개 이상 반환하고 이 결과를 메인쿼리로 전달하는 쿼리

 

다중 행 연산자

     기호        뜻
      in 하나라도 만족하면 반환
     any 하나라도 만족하면 반환
비교 연산 가능
     all 모두 만족하면 반환
비교 연산 가능

3. 위치에 따른 분류

 

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

 

select student.name,(

    select math

    from middle_test as m

    where m.student_id = students.student_id

) as middle_avg

from students;

'Database > Sql' 카테고리의 다른 글

2. 기본 Sql Select문  (0) 2022.06.29
1. DataBase 기본 용어  (0) 2022.06.28
다수의 테이블 제어하기  (0) 2022.04.26
Sql과 함수  (0) 2022.04.25
데이터를 제어하는 DML  (0) 2022.04.25
Comments