SQL 쿼리에서 AND EXISTS (SELECT 1 FROM 테이블) 조건은 특정 하위 쿼리의 결과가 존재하는지를 확인하는 데 사용됩니다.
이를 통해 상위 쿼리가 실행되기 위한 추가 조건을 설정할 수 있습니다.
Orders 테이블
| OrderID | CustomerID | Status |
| 1 | 101 | Shipped |
| 2 | 102 | Pending |
| 3 | 103 | Canceled |
Customers 테이블
| CustomerID | Name |
| 101 | Alice |
| 102 | Bob |
| 103 | Charlie |
SELECT Name
FROM Customers
WHERE CustomerID = 101
AND EXISTS (SELECT 1 FROM Orders WHERE CustomerID = 101 AND Status = 'Shipped');
SELECT *
FROM Users
WHERE EXISTS (SELECT 1 FROM LoginAttempts WHERE LoginAttempts.UserID = Users.UserID);
SELECT ProductName
FROM Products
WHERE Price > 100
AND EXISTS (SELECT 1 FROM Discounts WHERE Discounts.ProductID = Products.ProductID);
AND EXISTS (SELECT 1 FROM 테이블)은 조건부로 상위 쿼리를 실행하도록 설정하며, 하위 쿼리의 결과 존재 여부만 검사합니다. 이를 통해 효율적으로 데이터 존재 여부를 확인하고, 특정 조건을 충족하는 데이터만 선택할 수 있습니다.
| left join 과 left outer join 차이는? (2) | 2024.12.05 |
|---|---|
| MySQL SQL 오류코드 Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar (1) | 2024.12.05 |
| group by a, group by a,b 차이 (0) | 2024.12.03 |
| 데이터베이스 SQL JOIN, LEFT JOIN 차이는? (0) | 2024.12.03 |
| DBMS 뜻? 종류? (1) | 2024.11.27 |