SQL 기본 | DML : 데이터 조작 언어 | EXISTS


EXISTS는 WHERE의 조건에서 실행한 결과가 있을 경우에 조회가 된다.

EXISTS 문법

SELECT "필드명1"
FROM "테이블명1"
WHERE EXISTS
(SELECT "필드명2" FROM "테이블명2" WHERE "조회 조건");

EXISTS 예제

아래와 같이 두개의 테이블이 있을 때, East 지역에 있는 매장의 정보를 조회하고 싶을 경우

store_information 테이블

store_name sales txn_date
Los Angeles 1500 Jan-05-2018
San Diego 250 Jan-07-2018
Los Angeles 300 Jan-08-2018
Boston 700 Jan-08-2018

geography 테이블

region_name store_name
East Boston
East New York
West Los Angeles
West San Diego

East 지역에 있는 매장의 정보를 조회하고 싶을 경우

SELECT *
FROM store_information A1
WHERE EXISTS
(SELECT * FROM geography WHERE region_name = 'East' AND store_name = A1.store_name);

결과는 아래와 같다.

store_name sales txn_date
Boston 700 Jan-08-2018