집 >데이터 베이스 >MySQL 튜토리얼 >SQL WHERE 절에서 별칭을 올바르게 참조하려면 어떻게 해야 합니까?
WHERE 절에서 별칭 참조
SQL 쿼리 작업 시 테이블이나 표현식에 임시 이름을 지정하기 위해 별칭을 사용해야 하는 경우가 많습니다. . 이렇게 하면 코드의 가독성과 유지 관리성이 향상될 수 있습니다. 그러나 쿼리의 여러 부분에서 별칭을 참조할 때 제한 사항을 인식하는 것이 중요합니다.
문제
제공된 예에서는 다음을 시도합니다. 쿼리의 WHERE 절에서 별칭(_year)을 참조합니다. 그러나 이렇게 하면 오류가 발생합니다.
ERROR: column "_year" does not exist
이 오류는 WHERE 절이 SELECT 절보다 먼저 실행되기 때문에 발생합니다. 실행 시 데이터베이스는 아직 SELECT 절의 별칭 정의를 발견하지 않았으므로 이를 인식할 수 없습니다.
해결책
이 문제를 해결하려면, 별칭이 WHERE 절 자체에 정의되도록 쿼리를 다시 작성할 수 있습니다. 이렇게 하면 WHERE 절이 실행될 때 별칭을 사용할 수 있습니다.
SELECT SUBSTRING(pk, 6, 2)::INT AS _year FROM listing WHERE SUBSTRING(pk, 6, 2)::INT > 90
WHERE 절에 별칭 정의를 배치하면 오류 없이 동일한 절 내에서 별칭을 참조할 수 있습니다.
위 내용은 SQL WHERE 절에서 별칭을 올바르게 참조하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!