기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다
00933. 00000 -  "SQL command not properly ended"

 

 

발생 원인

SQL 구문 작성 시, 다음 규칙에 따라야 함

SELECT - FROM - WHERE - GROUP BY - HAVING - ORDER BY

 

 

해결 방법

서브 쿼리* 사용

서브쿼리: 먼저 실행되어 그 결과값이 사용되어야 할 쿼리가 있을 때 사용

 

➕ ORDER BY와 WHERE의 순서만 바꿔서 기재할 경우, 원하는 값이 나오지 않을 수 있음

문제에서 구하고자하는 것은 NAME으로 정렬 후, ROWNUM 값의 1 ~ 5 반환을 요청

만일 다음의 구문을 실행할 경우,

ROWNUM이 1 ~5 사이의 값을 추출 후 NAME으로 DESCENDING하게 됨

 

 기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

ORA-25154: USING 절의 열 부분은 식별자를 가질 수 없음
25154. 00000 -  "column part of USING clause cannot have qualifier"

 

 

발생 원인

USING()에는 직접적으로 식별자(COLUMN FULL NAME, COLUMN 약어) 기재가 불가능할뿐만 아니라, 간접적으로 SELECT절에서 USING에 사용되는 COL_NAME에 식별자를 사용할 수 없음

 

 

해결 방법

SNO이 SCORE TABLE의 COL_NAME과 겹치지만 FROM절에 명시된 TABLE은 STUDENT이므로 식별자를 따로 기재하지 않아도 문제가되지 않음

 기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

ORA-01748: 열명 그 자체만 사용할 수 있습니다
01748. 00000 -  "only simple column names allowed here"

 

 

발생 원인

USING()에는 식별자(COLUMN FULL NAME, COLUMN 약어) 기재 불가

 

 

해결 방법

USING(COL_NAME): 식별자를 제외하고 COL_NAME만 단독으로 기재

 기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

ORA-00936: 누락된 표현식
00936. 00000 -  "missing expression"

 

 

발생 원인

LIKE 절과 IN 연산자를 함께 사용할 수 없음

 

 

해결 방법

IN 연산자 대신 OR 연산자 활용

 

 

 

참고 자료

📑 [SQL] 쿼리 where절의 Like 와 In 을 동시에 사용하기

 

 기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

ORA-00918: 열의 정의가 애매합니다
00918. 00000 -  "column ambiguously defined"

 

 

발생 원인

TABLE JOIN 시, COL_NAME: SNO, CNO이 2개 이상의 TABLE에 존재하여, SELECT COL_NAME 시 어떤 TABLE에서 COL을 참조해야할지가 불분명함

 

 

해결 방법

중복되는 COL_NAME에는 TABLE_NAME을 명시적으로 지정