Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- pandas
- Python
- 빅분기
- Kaggle
- SQL
- 코딩테스트
- 빅데이터 분석 기사
- seaborn
- level 1
- 오라클
- Numpy
- 튜닝
- 카카오
- 파이썬
- 머신러닝
- Oracel
- 실기
- matplotlib
- level 2
- 데이터 분석
- R
- 프로그래머스
- 알고리즘
- python3
- oracle
- 실습
- sklearn
Archives
- Today
- Total
라일락 꽃이 피는 날
[Oracle] 다중 컬럼 서브 쿼리 본문
728x90
다중 컬럼 서브 쿼리의 문법
- non pair wise 방식
- pair wise 방식
non pair wise 방식보다는 pair wise 방식이 코딩이 더 짧아서 더 선호되는 SQL로 보이나
주의해야 할 사항은 pair wise 방식과 non pair wise 방식이 출력 되는 결과가 서로 다르다.
결론을 먼저 얘기하면 non pair wise 방식이 훨씬 결과가 더 많이 나온다.
oracle 의 경우 pair wise 방식과 non pair wise 방식 둘 다 지원된다.
그러나 ms 사에서 만든 데이터베이스 소프트웨어인 mssql 은 non pair wise 만 지원된다.
예제 1. 부서 번호가 30번인 사원들과 월급이 같고 커미션이 같은 사원들의 이름, 월급, 커미션, 부서 번호를 출력
-- 1. non pair wise 방식
select ename, sal, comm, deptno
from emp
where sal in (select sal
from emp
where deptno = 30)
and comm in (select comm
from emp
where deptno = 30);
-- 2. pair wise 방식
select ename, sal, comm, deptno
from emp
where (sal, comm) in (select sal, comm
from emp
where deptno = 30);
pair wise 방식으로는 30번 부서 번호에 해당하는 사원들만 나온다.
pair wise 방식은 30번 부서 번호인 사원들이 받는 그 월급과 커미션이어야만 다른 부서 번호라도 출력될 수 있다.
728x90
'프로그래밍 > Oracle' 카테고리의 다른 글
[Oracle] having/from/select 절의 서브 쿼리 (0) | 2022.06.02 |
---|---|
[Oracle] exists 를 활용한 서브 쿼리 (0) | 2022.06.02 |
[Oracle] 단일행/다중행 서브 쿼리 (0) | 2022.06.02 |
[Oracle] 집합 연산자 (0) | 2022.06.02 |
[Oracle] 조인 - ANSI 조인 (0) | 2022.06.01 |