> 데이터 베이스 > MySQL 튜토리얼 > Oracle SQL 조인 쿼리에서 ORA-00904: 잘못된 식별자 오류가 발생하는 이유는 무엇입니까?

Oracle SQL 조인 쿼리에서 ORA-00904: 잘못된 식별자 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-17 08:36:11
원래의
234명이 탐색했습니다.

Why am I getting the ORA-00904: Invalid Identifier error in my Oracle SQL join query?

ORA-00904 문제 해결: Oracle SQL 조인의 잘못된 식별자

이 문서에서는 Oracle SQL 쿼리에서 조인을 수행할 때 발생하는 일반적인 "ORA-00904: 잘못된 식별자" 오류를 해결합니다. 일반적인 시나리오와 해결 방법을 살펴보겠습니다.

문제:

이 내부 조인 쿼리를 고려해보세요.

<code class="language-sql">SELECT Employee.EMPLID as EmpID, 
       Employee.FIRST_NAME AS Name,
       Team.DEPARTMENT_CODE AS TeamID, 
       Team.Department_Name AS teamname
FROM PS_TBL_EMPLOYEE_DETAILS Employee
INNER JOIN PS_TBL_DEPARTMENT_DETAILS Team 
ON Team.DEPARTMENT_CODE = Employee.DEPTID;</code>
로그인 후 복사
로그인 후 복사

다음과 같은 오류가 발생할 수 있습니다.

<code>ORA-00904: "TEAM"."DEPARTMENT_CODE": invalid identifier</code>
로그인 후 복사

근본 원인:

이 문제는 일관되지 않은 대/소문자 사용과 테이블 또는 열 이름에 큰따옴표 사용으로 인해 발생하는 경우가 많습니다. Oracle의 대소문자 구분 동작은 데이터베이스 객체가 정의되는 방식에 따라 달라집니다.

  • 대소문자 구분 안 함(큰따옴표 제외): 이름 주위에 큰따옴표 없이 테이블을 생성하는 경우 Oracle은 일반적으로 객체 이름과 해당 열의 대소문자를 무시합니다.

  • 대소문자 구분(큰따옴표 사용): 이름 주위에 큰따옴표를 사용하여 테이블을 생성하는 경우(예: "MyTable") Oracle은 대소문자를 구분합니다. 쿼리에서 테이블과 해당 열을 참조할 때 반드시 정확히 동일한 대소문자(따옴표 포함)를 사용해야 합니다.

해결책:

"ORA-00904" 오류를 수정하려면 테이블 및 열 이름의 일관성을 확인하세요.

  1. 테이블 생성 확인: 테이블을 생성하는 데 사용된 SQL 스크립트(PS_TBL_EMPLOYEE_DETAILSPS_TBL_DEPARTMENT_DETAILS)를 검토합니다. 큰따옴표가 사용되었는지 확인하세요.

  2. 쿼리 조정: 테이블이 큰따옴표 없이 생성된 경우 쿼리는 있는 그대로(또는 대소문자를 약간 조정하여) 올바르게 작동해야 합니다. 큰따옴표를 사용한 경우 SELECTJOIN

    에서 대소문자 및 따옴표를 정확하게 복제하세요.
  3. 수정된 쿼리(테이블 생성 시 큰따옴표 제외):

<code class="language-sql">SELECT Employee.EMPLID as EmpID, 
       Employee.FIRST_NAME AS Name,
       Team.DEPARTMENT_CODE AS TeamID, 
       Team.Department_Name AS teamname
FROM PS_TBL_EMPLOYEE_DETAILS Employee
INNER JOIN PS_TBL_DEPARTMENT_DETAILS Team 
ON Team.DEPARTMENT_CODE = Employee.DEPTID;</code>
로그인 후 복사
로그인 후 복사

이러한 지침을 준수하고 테이블 정의를 주의 깊게 검사하면 Oracle SQL 조인 쿼리에서 "ORA-00904: 잘못된 식별자" 오류를 효과적으로 해결할 수 있습니다.

위 내용은 Oracle SQL 조인 쿼리에서 ORA-00904: 잘못된 식별자 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿