728x90

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

 

 

조회수가 0, 1, 2인 게시글을 조회하시오.

 

조회수가 0, 2, 7인 게시글을 조회하시오.

 

조회수가 0, 2, 7이 아닌 게시글을 조회하시오.

 

 

소스 코드

🔗 HJ0216/TIL/OracleSQL

 
 
728x90
728x90

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

 

 

발생 Error

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

⚠️ 다음과 같은 Error 발생

오류 보고 -
ORA-01400: NULL을 ("C##JAVA"."PBOARD"."SEQ") 안에 삽입할 수 없습니다

 

 

발생 원인

PRIMARY KEY인 SQL에 대한 NULL값 입력이 허용되지 않음

 

 

해결 방법

1. PRIMARY KEY VALUE 입력

 

2. SEQ 값을 직접 부여하는 방법 대신 TABLE 편집에서 열 시퀀스 선택

 

728x90
728x90

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

 

 

발생 Error

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

⚠️ 다음과 같은 Error 발생

ORA-01789: 질의 블록은 부정확한 수의 결과 열을 가지고 있습니다.
01789. 00000 -  "query block has incorrect number of result columns"

 

 

발생 원인

집합연산자에 사용되는 쿼리들의 SELECT COL 목록은 개수와 데이터 타입이 반드시 일치해야함

 

 

해결 방법

만일 DEPARTMENTS에 HIRE_DATE COL이 없다면 DUMMY COLUMN인 NULL을 사용

728x90
728x90

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

 

 

발생 Error

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

⚠️ ROWNUM 3, 4가 출력되지 않는 문제 발생

 

 

발생 원인

WHERE ROWNUM 사용 시, 구문에 만들어둔 ROWNUM이 아닌 기본 ROWNUM이 호출되어  2, 3, 4 등의 값이 조회되지 않음(ROWNUM 호출 시 시작값은 항상 1)

 

 

헤결 방법

ROWNUM에 대한 RN, ALIAS 사용

 

 

728x90
728x90

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

 

 

15강 비교연산자(=,!=,^=,...)

 

!= : not equal (recommand)
^= : not equal
<> : not equal

 

-- 게시글 중에서 작성자가 ‘newlec’인 게시글만 조회하시오.
SELECT * FROM NOTICE WHERE WRITER_ID='HJ0216';

-- 게시글 중에서 조회수가 3이 넘는글만 조회하시오.
SELECT * FROM NOTICE WHERE HIT>3;

-- 게시글 중에서 내용을 입력하지 않은 게시글을 조회하시오.
SELECT * FROM NOTICE WHERE CONTENT IS NULL;
-- CONTENT가 비어있는 레코드 탐색

SELECT * FROM NOTICE WHERE CONTENT = 'NULL';
-- NULL이라는 문자값이 들어간 레코드 탐색
-- 내용이 입력되지 않은 경우, NULL값이 저장되어있음

-- 게시글 중에서 내용을 입력한 게시글만 조회하시오.
SELECT * FROM NOTICE WHERE CONTENT IS NOT NULL;
-- CONTENT가 비어있지 않은 레코드 탐색

 

 

 

소스 코드

🔗 HJ0216/TIL/OracleSQL

728x90