TOP

SQL EXISTS 문

SQL EXISTS 설명

EXISTS 연산자는 하위 쿼리에 레코드가 있는지 확인하는 데 사용됩니다.

하위 쿼리가 하나 이상의 레코드를 반환하는 경우 EXISTS 연산자는 TRUE을 반환합니다.


EXISTS 구문

SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition)

데모 데이터베이스

다음은 Northwind 데이터베이스의 "Products"("제품") 테이블에 있는 샘플입니다.

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18.00
2Chang1124 - 12 oz bottles19.00
3Aniseed Syrup1212 - 550 ml bottles10.00
4Chef Anton's Cajun Seasoning2248 - 6 oz jars22.00
5Chef Anton's Gumbo Mix2236 boxes21.35

그리고 "Suppliers"("공급업체") 테이블의 샘플은 다음과 같습니다.

SupplierIDSupplierNameContactNameAddressCityPostalCodeCountryPhone
1Exotic LiquidCharlotte Cooper49 Gilbert St.LondonaEC1 4SDUK(171) 555-2222
2New Orleans Cajun DelightsShelley BurkeP.O. Box 78934New Orleans70117USA(100) 555-4822
3Grandma Kelly's HomesteadRegina Murphy707 Oxford Rd.Ann Arbor48104USA(313) 555-5735
4Tokyo TradersYoshi Nagase9-8 Sekimai Musashino-shiTokyo100Japan(03) 3555-5011
5Cooperativa de Quesos 'Las Cabras'Antonio del Valle SaavedraCalle del Rosal 4Oviedo33007Spain(98) 598 76 54

SQL EXISTS 예

다음 SQL 쿼리는 TRUE을 반환하고 제품 가격이 20 미만인 공급업체 목록을 포함합니다.

Run SQLSELECT SupplierName 
FROM Suppliers 
WHERE EXISTS (SELECT ProductName 
              FROM Products 
              WHERE Products.SupplierID = Suppliers.supplierID 
                AND Price < 20)

또 다른 SQL 문은 TRUE을 반환하고 제품 가격이 22인 공급업체 목록을 포함합니다.

Run SQLSELECT SupplierName 
FROM Suppliers 
WHERE EXISTS (SELECT ProductName 
              FROM Products 
              WHERE Products.SupplierID = Suppliers.supplierID 
                AND Price = 22)