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
- position속성
- CSS display 속성
- 스프링 부트
- 네트워크
- 바닐라js
- css
- 속성
- 기술 면접
- 기술면접
- Failed to read the 'responseText' property from 'XMLHttpRequest'
- html요소
- html
- Rename to
- Create
- 예외처리
- 시맨틱 태그
- cs질문
- Java
- Oracle
- 리캡차
- 구글 리캡차
- 자바의 장점
- css position
- 스프링부트
- 자바
- database
- 신입개발자
- 80 to 443
- multiarray
- tcp와 udp의 차이점
Archives
- Today
- Total
Building value
Oracle SQL 기본 문법[SubQuery.EXISTS] 본문
반응형
EXISTS는 서브쿼리의 결과가 존재하는지 여부를 확인하는 연산자입니다.
EXISTS 연산자를 사용하면 외부 쿼리와 서브쿼리 사이의 관계를 설정할 수 있으며,
서브쿼리 결과가 존재하는지 여부에 따라 외부 쿼리의 결과가 달라집니다.
SELECT ENAME, SAL FROM EMP e
WHERE DEPTNO = 10
AND EXISTS (SELECT ENAME FROM EMP WHERE EMPNO = e.EMPNO AND SAL >= 3000);
위 쿼리는 부서 번호가 10인 사원 중에서 급여가 3000 이상인 사원의 이름과 급여 정보를 조회합니다.
EMP 테이블에서 DEPTNO가 10인 레코드의 ENAME과 SAL 열을 검색합니다.
EXISTS를 사용하여, EMPNO가 부모 쿼리의 EMPNO와 일치하고,
SAL이 3000 이상인 레코드가 하나 이상 있는지 확인합니다.
이 조건을 만족하는 레코드의 ENAME과 SAL 열을 조회합니다.
이번에는 EXISTS를 사용하여 사원중에서 관리자 직책인 사원의 모든 정보를 출력하는 쿼리를 작성해 보겠습니다.
SELECT *
FROM EMP e
WHERE EXISTS (SELECT * FROM EMP WHERE e.EMPNO = MGR);
EMP 테이블에서 MGR 열의 값과 e.EMPNO가 같은 레코드가 존재하는 경우에 해당하는 레코드를 반환합니다.
즉, 상사를 가지고 있는 사원의 정보를 출력하는 쿼리입니다.
EXISTS는 서브쿼리가 반환하는 결과에 값이 존재하는지 여부를 확인하여 참 또는 거짓으로 결과를 반환합니다.
따라서 이 쿼리에서는 외부 쿼리의 EMP 테이블과 내부 쿼리의 EMP 테이블 간의
EMPNO와 MGR이 일치하는 레코드가 있는지 여부를 확인하여 해당 레코드를 반환합니다.
반응형
'RDBMS > Oracle DB' 카테고리의 다른 글
Oracle SQL 기본 문법[CREATE.테이블 복사] (0) | 2023.03.16 |
---|---|
Oracle SQL 기본 문법[CREATE/DROP] (0) | 2023.03.16 |
Oracle SQL 기본 문법[DECODE] (0) | 2023.03.15 |
Oracle SQL 기본 문법[SubQuery] (0) | 2023.03.15 |
Oracle SQL 기본 문법[날짜 함수] (0) | 2023.03.14 |