gambae programing
서브쿼리 본문
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