본문 바로가기

DataBase(SQL)/DAY 25 _ 23.09.21

Exists

-- 서브쿼리의 결과 집합이 비어 있지 않은 경우에만 주 쿼리의 조건을 만족시킬 때 사용됩니다.
-- 이것은 주로 서브쿼리의 결과가 존재하는지 여부를 확인하고 필터링할 때 유용하게 사용됩니다.

--> 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