728x90

이 글은 뉴렉쳐 오라클 데이터베이스 SQL 강의 수강하며 정리한 글입니다.

 

 

회원 중에서 ‘박’씨인 사람을 조회하시오.

 

회원 중에서 ‘박’씨이고 외자인 회원을 조회하시오.

자리수를 한정해서 검색할 때는 %가 아닌 _ 활용

 

회원 중에서 ‘박’씨 성을 제외한 회원을 조회하시오.

 

회원 중에서 이름에 ‘도’자가 들어간 회원을 조회하시오.

 

 

 

소스 코드

🔗 HJ0216/TIL/OracleSQL

 
728x90
728x90

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

 

 

발생 Error

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

⚠️ 다음과 같은 Error 발생

ORA-00984: 열을 사용할 수 없습니다
00984. 00000 -  "column not allowed here"

 

 

발생 원인

INSERT시, 입력값 부분인 VALUES에 문자열을 작성할 때, ''를 사용하지 않고 작성하거나 ""를 사용한 경우, COLUMN으로 인식

 

 

해결 방법

입력값은 ''를 사용

 

 

 

참고 자료

📑 오라클 에러 ORA-00984: 열을 사용할 수 없습니다

 

728x90
728x90

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

 

 

발생 Error

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

⚠️ 다음과 같은 Error 발생

ORA-02437: (HJ.MEMBER_PK)을 검증할 수 없습니다 - 잘못된 기본 키입니다
02437. 00000 -  "cannot validate (%s.%s) - primary key violated"
*Cause:    attempted to validate a primary key with duplicate values or null values.
*Action:   remove the duplicates and null values before enabling a primary key.

 

 

발생 원인

기존 ID_COL에 입력되어있던 RECORD가 중복 및 NULL값이 입력되어 있음

 

 

해결 방법

중복 및 NULL값 제거

 

⭐ NULL 값 제거 시, 구문 유의

728x90
728x90

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

 

 

발생 Error

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

⚠️ 다음과 같은 Error 발생

ORA-01468: outer-join된 테이블은 1개만 지정할 수 있습니다
01468. 00000 -  "a predicate may reference only one outer-joined table"

 

 

발생 원인

Oracle 문법에서 OUTER JOIN은 LEFT OR RIGHT JOIN만 지원하고 FULL JOIN을 지원하지 않음

 

 

해결 방법

ANSI 문법으로 OUTTER JOIN 진행

728x90
728x90

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

 

 

발생 Error

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

⚠️ 다음과 같은 Error 발생

ORA-00937: 단일 그룹의 그룹 함수가 아닙니다
00937. 00000 -  "not a single-group group function"

 

 

발생 원인

DEPARTMENT_ID로 GROUP화를 진행하였으므로 그룹화된 DEPARTMENT_ID가 출력되야함

그러나, 그룹함수 MAX 사용 시, 1개의 RECORD만 RETURN되므로 DEPARTMENT_ID RECORD 수가 많아서 오류 발생

 

 

해결 방법

DEPARTMENT_ID 삭제

그룹함수 MAX에 따른 DEPARTMENT_ID값을 RETURN 받고 싶으면 그룹에 대한 조건절인 HAVING을 사용

-> 도출되는 DEPARTMENT_ID가 1개만 도출되도록 함

 

⭐ 조건절 작성 순서: SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY

 

728x90