>데이터 베이스 >SQL >SQL에서 where와 have의 차이점

SQL에서 where와 have의 차이점

下次还敢
下次还敢원래의
2024-05-01 21:42:34669검색

WHERE 및 HAVING 절은 모두 SQL에서 데이터를 필터링하는 데 사용되지만 범위가 다릅니다. WHERE 절은 단일 행을 필터링하고 HAVING 절은 그룹화된 결과 집합을 필터링합니다. WHERE 절은 그룹화 전에 적용되며 집계 함수의 결과 행에 영향을 줍니다. HAVING 절은 그룹화 후에 적용되며 개별 행이 아닌 그룹화된 행에 영향을 줍니다. WHERE 절은 모든 열을 필터링할 수 있는 반면, HAVING 절은 집계 함수의 결과만 필터링할 수 있습니다.

SQL에서 where와 have의 차이점

WHERE 절과 HAVING 절의 차이점

SQL 쿼리에서 WHERE 절과 HAVING 절은 데이터 행을 필터링하는 데 사용되지만 범위와 목적이 다릅니다.

WHERE 절

  • 은 테이블의 단일 행에 적용됩니다.
  • 지정된 조건을 충족하는 행을 필터링하는 데 사용됩니다.
  • 데이터 그룹화 전에 신청하세요.
  • 집계 함수의 결과 행에 영향을 줍니다.

HAVING 절

  • 은 그룹화된 결과 집합에 적용됩니다.
  • 특정 조건을 충족하는 그룹을 필터링하는 데 사용됩니다.
  • 데이터 그룹화 후 적용됩니다.
  • 개별 행이 아닌 그룹화된 행에 영향을 미칩니다.

비교 테이블

Features WHERE 절 HAVING 절
Scope 단일 행 Group
신청시기 그룹핑 전 그룹핑 후
영향을 미치는 집계 함수 결과 행 그룹화된 행

다음 쿼리는 WHERE 절을 사용하여 판매량이 1000을 초과하는 주문을 필터링합니다.

<code class="sql">SELECT * FROM orders WHERE sales_amount > 1000;</code>

다음 쿼리는 HAVING 절을 사용합니다. 평균 판매량이 1000을 초과하는 모든 고객 필터링:

<code class="sql">SELECT customer_id, AVG(sales_amount) AS avg_sales
FROM orders
GROUP BY customer_id
HAVING avg_sales > 1000;</code>

Notes

  • WHERE 절은 모든 열을 필터링할 수 있는 반면 HAVING 절은 집계 함수의 결과만 필터링할 수 있습니다.
  • HAVING 절은 일반적으로 GROUP BY 절과 함께 사용되지만 WHERE 절은 독립적으로 사용될 수 있습니다.

위 내용은 SQL에서 where와 have의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.