수색…


존재 이유

고객 표

신분증 이름
1 오즈 구르 오즈 투르크
2 유세프 메디
헨리 타이

주문 표

신분증 고객 ID
1 2 123.50
2 14.80

최소 한 주문으로 모든 고객 확보

SELECT * FROM Customer WHERE EXISTS (
    SELECT * FROM Order WHERE Order.CustomerId=Customer.Id
)

결과

신분증 이름
2 유세프 메디
헨리 타이

주문하지 않고 모든 고객 확보

SELECT * FROM Customer WHERE NOT EXISTS (
    SELECT * FROM Order WHERE Order.CustomerId = Customer.Id
)

결과

신분증 이름
1 오즈 구르 오즈 투르크

목적

EXISTS , INJOIN 은 언젠가 같은 결과에 사용될 수 있지만 같은 것은 아닙니다.

  • 다른 테이블에 값이 있는지 확인하려면 EXISTS 사용해야합니다.
  • 정적 목록에 IN 사용해야합니다.
  • JOIN 은 다른 테이블에서 데이터를 검색하는 데 사용해야합니다.


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow