내가 here에서 인용하고있다 :MySQL의 - 진정한 수익을 존재하는 경우, 외부 쿼리의 결과는 더 이상 필터링하면 안
는 "당신은 적어도 하나의 배치 고객을 찾을 상관 하위 쿼리로 위의 쿼리를 사용할 수 있습니다
SELECT
customerNumber,
customerName
FROM
customers
WHERE
EXISTS(SELECT
orderNumber, SUM(priceEach * quantityOrdered)
FROM
orderdetails
INNER JOIN
orders USING (orderNumber)
WHERE
customerNumber = customers.customerNumber
GROUP BY orderNumber
HAVING SUM(priceEach * quantityOrdered) > 60000);
" 당신은 결과를 볼 수 편집기 here에 코드를 붙여 넣을 수 있습니다 다음을 사용하여 60K보다 큰 총 가치와 판매 주문은 운영자가 존재한다.
하위 쿼리에서 WHERE
절을 생략하고 EXISTS
연산자가 TRUE
을 반환한다고 가정합니다. 1) 그런 다음 왜 고객의 customerNumber
및 customerName
을 얻을 수 없습니까? 2) 얼마나 많은 시간이 EXISTS
연산자 평가입니까?
1) 선택하지 않음 고객 번호 고객 이름 고객 고객이 "작동합니까? 그것해야합니다. EXISTS가 TRUE를 반환하면 쿼리가됩니다. – JochenJung
질문 번호에 대한 답은 무엇입니까? 1 ? –
1) 하위 쿼리가 어디에 있는지 알 수없는 경우 모든 고객의 총 가치가 주문 테이블에서> 60k 인 경우, 즉 하위 쿼리가 하나 이상의 행을 반환하는 경우에만 고객 테이블의 모든 고객을 가져옵니다. –