-- 서브쿼리의 결과 집합이 비어 있지 않은 경우에만 주 쿼리의 조건을 만족시킬 때 사용됩니다.
-- 이것은 주로 서브쿼리의 결과가 존재하는지 여부를 확인하고 필터링할 때 유용하게 사용됩니다.
--> exists() : 유!일! 하게 매트릭스를 받을 수 있음
--> 그럼 벡터랑 스칼라는 당연하게 들어갈 수 있겠지?
--> exists안의 결과가 (개수 상관없이) 있으면 true, 없으면 false...
SELECT * FROM ORDERS o WHERE o.CUSTID = 1000; --> 이런건 없으니까
-- 여담
SELECT 1 FROM ORDERS o WHERE o.CUSTID = 1000;
--> 이렇게도 쓸 수 있따. 1이 반환되면 false --> 결과 존재유무 확인하기 좋겠찌?
SELECT * FROM CUSTOMER --> exists안에가 false니까 SELECT * FROM CUSTOMER 이게 출력이 안되겠지?
WHERE EXISTS(
SELECT * FROM ORDERS o WHERE o.CUSTID = 1000
);
--Q. 주문이 있는 고객의 이름과 주소를 보이시오
SELECT * FROM CUSTOMER c
WHERE EXISTS(
SELECT * FROM ORDERS o WHERE o.CUSTID = c.CUSTID
); --> o.CUSTID = c.CUSTID가 true이면 출력. 박세리는 조건이 안맞으니까 출력이 안된거징.
-- > 밑에 코드는 팔린 책들 중에 saleprice가 6000원인 애들 출력한듯?
SELECT * FROM CUSTOMER c
WHERE EXISTS (
SELECT * FROM ORDERS o WHERE o.CUSTID = c.CUSTID AND o.SALEPRICE = 6000
);
'DataBase(SQL) > DAY 25 _ 23.09.21' 카테고리의 다른 글
집합 연산 (0) | 2023.09.21 |
---|---|
Sub Query2 (0) | 2023.09.21 |
Where~in / inner join (0) | 2023.09.21 |
Sub Query (0) | 2023.09.21 |
Outer join (0) | 2023.09.21 |