<다중 행 서브 쿼리>
- 특정 쿼리에서 검색한 여러 개의 값을 다른 쿼리에서 받아 검색하는 방법
▼ 직업이 SALESMAN인 사원들과 같은 월급을 받는 사원들의 이름과 월급 출력해보기
▷ 단일행 서브 쿼리처럼 한다면
: 왜 그러냐면!
직업이 SALESMAN인 사원이 한 명이 아니라 여러 명이기 때문에
서브 쿼리 값이 여러 개가 나오기 때문에
이퀄을 사용하면 에러가 난다.
▼ 이럴 때는 in 을 사용해서 해야한다.
▶ ▶ 이렇게 서브 쿼리에서 하나의 값이 아니라 여러 개의 값이 나오는 것을
다중 행 서브 쿼리라고 함.
<서브 쿼리의 종류>
종류 | 설명 |
단일 행 서브 쿼리 | 서브 쿼리에서 메인 쿼리를 위한 값이 하나(값)가 나오는 것 ▶https://dev-adela.tistory.com/311 |
다중 행 서브 쿼리 | 서브 쿼리에서 메인 쿼리를 위한 값이 여러 개(값) 나오는 것 ▶ (해당 포스팅) |
다중 컬럼 서브 쿼리 | 서브 쿼리에서 메인 쿼리를 위한 여러 개의 컬럼이 나오는 것 |
<서브 쿼리에 따라서 사용하는 연산자도 다르다!!>
종류 | 연산자 |
단일 행 서브 쿼리 | =, !=, >, <, <=, >= |
다중 행 서브 쿼리 | in, not in, >any, <any, >all, <all ▼ 라잌댓 ![]() |
- 다중 행 서브 쿼리 연산자에 대한 설명
in : 리스트의 값과 동일
not in : 리스트의 값과 동일하지 않다
>any : 리스트에서 가장 작은 값보다 크다
<any : 리스트에서 가장 큰 값보다 작다
>all : 리스트에서 가장 큰 값보다 크다
<all : 리스트에서 가장 작은 값보다 작다
'데이터베이스 > SQL' 카테고리의 다른 글
SQL 서브쿼리 - EXISTS / NOT EXISTS (0) | 2024.01.11 |
---|---|
SQL 서브쿼리 - NOT IN (0) | 2024.01.10 |
SQL 단일행 서브쿼리 (0) | 2024.01.10 |
SQL 데이터 차이를 출력하기, 집합 연산자 MINUS (1) | 2024.01.06 |
SQL 데이터 교집합 출력하기, 집합연산자 INTERSECT (1) | 2024.01.06 |