>데이터 베이스 >MySQL 튜토리얼 >'필드 목록의 열 'id'가 모호합니다.' SQL 오류를 해결하는 방법은 무엇입니까?

'필드 목록의 열 'id'가 모호합니다.' SQL 오류를 해결하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-19 18:38:11963검색

How to Resolve the

SQL 모호성 해결: 'id' 열 문제

SQL 쿼리에서 "1052: 필드 목록의 'id' 열이 모호합니다." 오류가 표시됩니까? 이는 SELECT 문에 조인된 여러 테이블에 있는 id 열이 포함된 경우에 발생합니다. 데이터베이스는 귀하가 검색하려는 id

을 결정할 수 없습니다.

해결책은 각 id 열에 테이블 소스를 지정하는 것입니다. 이는 전체 테이블 이름을 사용하거나 보다 효율적으로 테이블 별칭을 사용하여 수행할 수 있습니다.

전체 테이블 이름 사용:

이 접근 방식은 각 id:

의 테이블 출처를 명시적으로 나타냅니다.
<code class="language-sql">SELECT tbl_names.id, tbl_section.id, name, section
FROM tbl_names
JOIN tbl_section ON tbl_section.id = tbl_names.id</code>

테이블 별칭 사용(권장):

테이블 별칭은 쿼리를 단축하고 가독성을 높입니다.

<code class="language-sql">SELECT n.id, s.id, n.name, s.section
FROM tbl_names AS n
JOIN tbl_section AS s ON s.id = n.id</code>

두 방법 모두 동일한 결과를 얻지만 일반적으로 간결성 때문에 별칭을 선호합니다.

JOIN 구문 이해: ANSI-92와 ANSI-89

위의 예에서는 ANSI-92 JOIN 구문을 사용합니다. 간단한 INNER JOIN에 대한 이전 ANSI-89 구문과 기능적으로 유사하지만 ANSI-92는 OUTER JOIN(LEFT, RIGHT, FULL)을 더 명확하게 처리하는 데 더 뛰어납니다. 유지 관리성과 JOIN 작업의 모든 기능을 활용하려면 ANSI-92가 권장되는 표준입니다.

열 이름을 올바르게 한정하고 최신 ANSI-92 JOIN 구문을 사용하면 모호성을 제거하고 더 효율적이고 읽기 쉬운 SQL 쿼리를 작성할 수 있습니다.

위 내용은 '필드 목록의 열 'id'가 모호합니다.' SQL 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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