>데이터 베이스 >MySQL 튜토리얼 >HAVING 절에 집계 함수 별칭을 사용할 때 SQL Server에서 '잘못된 열 이름' 오류가 발생하는 이유는 무엇입니까?

HAVING 절에 집계 함수 별칭을 사용할 때 SQL Server에서 '잘못된 열 이름' 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-24 17:20:15266검색

Why Does SQL Server Produce an

HAVING 절의 SQL Server 별칭 제한

SQL Server에서 HAVING 절에 집계 함수에 대한 별칭을 사용하면 다음과 같은 결과가 발생할 수 있습니다. "잘못된 열 이름" 오류. 이러한 명백한 모순은 SQL 쿼리의 실행 흐름에서 비롯됩니다.

HAVING 절은 그룹 작업 이후, 선택 프로세스 이전에 평가됩니다. 이처럼 HAVING 절이 처음 실행될 때 제공된 코드 조각의 'col7'과 같이 집계 함수에 할당된 별칭은 아직 서버에서 인식되지 않습니다.

쿼리 실행 순서는 다음과 같습니다. 다음은 다음과 같습니다.

  1. FROM 절에 지정된 테이블을 조인합니다.
  2. WHERE를 사용하여 행을 필터링합니다. 절.
  3. GROUP BY 절을 기준으로 행을 그룹화합니다.
  4. HAVING 절 조건을 충족하지 않는 그룹을 제거합니다.
  5. SELECT 문에서 표현식을 계산합니다.

따라서 HAVING 절 평가 시점에서 서버는 'col7'을 유효한 것으로 인식하지 못합니다. 열 이름. 이러한 제한으로 인해 집계 함수를 참조하기 위해 HAVING 절에서 별칭을 사용할 수 없습니다.

그러나 이 평가는 HAVING 절 다음에 발생하므로 ORDER BY 절에서 별칭을 사용할 수 있습니다.

위 내용은 HAVING 절에 집계 함수 별칭을 사용할 때 SQL Server에서 '잘못된 열 이름' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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