>데이터 베이스 >MySQL 튜토리얼 >내 SQL 쿼리가 'Where 절의 알 수 없는 열'을 반환하는 이유는 무엇입니까?

내 SQL 쿼리가 'Where 절의 알 수 없는 열'을 반환하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-17 16:06:14332검색

Why Does My SQL Query Return

"Unknown Column in Where 절" SQL 오류 이해

두려운 "Unknown Column in Where Clause" 오류는 SQL 문 내의 특정 실행 순서로 인해 발생합니다. SQL은 쿼리를 오른쪽에서 왼쪽으로 처리합니다. 즉, WHERE 절은 SELECT

평가됩니다.

예를 들어 설명하겠습니다.
<code class="language-sql">SELECT u_name AS user_name FROM users WHERE user_name = "john";</code>

WHERE여기서 user_name 절은 user_name을 사용하여 필터링을 시도합니다. 그러나 별칭 SELECTWHERE 절에서만 정의됩니다.

절이 먼저 처리되기 때문에 아직 이 별칭이 발견되지 않아 "알 수 없는 열" 오류가 발생합니다.

해결책:

이 문제를 해결하는 두 가지 간단한 방법이 있습니다.
  1. WHERE 절에 원래 열 이름을 사용하세요.

    이것이 가장 간단하고 효율적인 솔루션입니다. 별칭이 아닌 실제 이름으로 열을 참조하세요.
    <code class="language-sql">SELECT u_name AS user_name FROM users WHERE u_name = "john";</code>
  2. 별칭이 지정된 열을 괄호로 묶습니다. 이 접근 방식은 절을 평가하기 WHERE전에

    데이터베이스가 별칭을 확인하도록 합니다. 기능적이지만 일반적으로 원래 열 이름을 사용하는 것보다 효율성이 떨어집니다.
    <code class="language-sql">SELECT u_name AS user_name FROM users WHERE (user_name = "john");</code>

SQL의 평가 순서를 이해하고 이러한 솔루션 중 하나를 사용하면 "Where 절의 알 수 없는 열" 오류를 효과적으로 해결할 수 있습니다.

위 내용은 내 SQL 쿼리가 'Where 절의 알 수 없는 열'을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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