>데이터 베이스 >MySQL 튜토리얼 >SQL WHERE 절에서 별칭을 올바르게 참조하려면 어떻게 해야 합니까?

SQL WHERE 절에서 별칭을 올바르게 참조하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-26 14:03:14773검색

How Can I Correctly Reference Aliases in a SQL WHERE Clause?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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