728x90
서브쿼리 조건
inner join에 and로 조건 걸어서 from절에서 걸러냄
SELECT
FAM1.EMP_NO AS 직원번호
, FAM1.FAM_NM AS 쌍둥이1
, FAM2.FAM_NM AS 쌍둥이2
FROM FAM_C FAM1
INNER JOIN FAM_C FAM2
ON FAM1.EMP_NO = FAM2.EMP_NO
AND FAM1.FAM_NM <> FAM2.FAM_NM -- 쌍둥이 이름 같지않게
AND FAM1.REL_TYPE_CD = FAM2.REL_TYPE_CD
AND FAM1.REL_TYPE_CD = 'A27' -- 자녀조건(A27) 충족
AND FAM1.BIRTH_YMD = FAM2.BIRTH_YMD -- 생년월일 같음=쌍둥이
;
Where절 조건
inner join만하고 조건은 where에 넣은 것
FROM FAM_C F1
JOIN FAM_C F2 ON(F1.EMP_NO = F2. EMP_NO)
WHERE F1.FAM_NM <> F2.FAM_NM
AND F1.REL_TYPE_CD = 'A27'
AND F1.REL_TYPE_CD = F2.REL_TYPE_CD
AND F1.BIRTH_YMD = F2.BIRTH_YMD
;
Q.
서브쿼리로 조건 걸어서 데이터 가져오는 거랑 WHERE절에서 조건 걸어서 데이터 가져오는거랑
뭐가 다를까?
A.
서브쿼리
집합을 줄일 필요가 있을 때 사용
서브쿼리로 대상을 줄여놓고 메인쿼리와 결합되는 형태로 많이 사용
WHERE
다른 어플리케이션(ex:java,C)에서 조건 값을 받아야 하는 경우가 多
728x90
반응형
'SQL > Oracle' 카테고리의 다른 글
[SQL][Oracle] JOIN에 AND조건과 JOIN+WHERE절에 AND조건 어떻게 다를까? (1) | 2022.10.05 |
---|---|
[SQL][Oracle] 계층형 질의(계층형 쿼리, Hierarchical Query) 동작순서 with 예시 (0) | 2022.08.26 |
[SQL][Oracle] 계층형 질의(계층형 쿼리, Hierarchical Query) (1) | 2022.08.25 |
[SQL][Oracle] SELECT, DISTINCT, 별칭, 리터럴, 비교연산자 (0) | 2022.03.12 |
[SQL][Oracle] ESCAPE 식별자, IS NULL, IN, 연결연산자 || (0) | 2022.03.12 |