[SQL] IS NULL 연산자

·2025년 7월 1일
0

SQL

목록 보기
29/126

예제 답

select ename, comm
 from emp
 where comm is null;

EMP 와 DEPT 테이블을 다시 DROP 하고 생성하는 스크립트를 쉽게 구현하기

1. 명령 프롬프트창을 열고 c##scott 유져로 접속하세요.

sqlplus c##scott/tiger

2. demo.sql 이라는 스크립트를 생성하기 위해 다음과 같이 수행합니다.

ed demo.sql

3. demo.sql 이라는 이름으로 메모장이 열리면 다음의 스크립트를 복사 붙여넣기 하세요

alter session set nls_Date_format='RR/MM/DD';
drop table emp;
drop table dept;


CREATE TABLE DEPT
       (DEPTNO number(10),
        DNAME VARCHAR2(14),
        LOC VARCHAR2(13) );


INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO DEPT VALUES (20, 'RESEARCH',   'DALLAS');
INSERT INTO DEPT VALUES (30, 'SALES',      'CHICAGO');
INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');

CREATE TABLE EMP (
 EMPNO               NUMBER(4) NOT NULL,
 ENAME               VARCHAR2(10),
 JOB                 VARCHAR2(9),
 MGR                 NUMBER(4) ,
 HIREDATE            DATE,
 SAL                 NUMBER(7,2),
 COMM                NUMBER(7,2),
 DEPTNO              NUMBER(2) );


INSERT INTO EMP VALUES (7839,'KING','PRESIDENT',NULL,'81-11-17',5000,NULL,10);
INSERT INTO EMP VALUES (7698,'BLAKE','MANAGER',7839,'81-05-01',2850,NULL,30);
INSERT INTO EMP VALUES (7782,'CLARK','MANAGER',7839,'81-05-09',2450,NULL,10);
INSERT INTO EMP VALUES (7566,'JONES','MANAGER',7839,'81-04-01',2975,NULL,20);
INSERT INTO EMP VALUES (7654,'MARTIN','SALESMAN',7698,'81-09-10',1250,1400,30);
INSERT INTO EMP VALUES (7499,'ALLEN','SALESMAN',7698,'81-02-11',1600,300,30);
INSERT INTO EMP VALUES (7844,'TURNER','SALESMAN',7698,'81-08-21',1500,0,30);
INSERT INTO EMP VALUES (7900,'JAMES','CLERK',7698,'81-12-11',950,NULL,30);
INSERT INTO EMP VALUES (7521,'WARD','SALESMAN',7698,'81-02-23',1250,500,30);
INSERT INTO EMP VALUES (7902,'FORD','ANALYST',7566,'81-12-11',3000,NULL,20);
INSERT INTO EMP VALUES (7369,'SMITH','CLERK',7902,'80-12-09',800,NULL,20);
INSERT INTO EMP VALUES (7788,'SCOTT','ANALYST',7566,'82-12-22',3000,NULL,20);
INSERT INTO EMP VALUES (7876,'ADAMS','CLERK',7788,'83-01-15',1100,NULL,20);
INSERT INTO EMP VALUES (7934,'MILLER','CLERK',7782,'82-01-11',1300,NULL,10);


commit;

4. demo.sql 을 다음과 같이 수행

@demo

5. sqldeveloper 에서 emp 테이블을 select 해봅니다.

select * from emp;


예제1. 사원 테이블에서 이름과 커미션과 직업을 출력하시오

select ename, comm, job
 from emp;

예제2. 커미션이 null 인 사원들의 이름과 커미션을 출력하시오

select ename, comm
 from emp
 where comm is null;

💡 null 은 알 수 없는 값이기 때문에 이퀄(=) 로는 비교할 수 X
null 값을 비교할때는 is null 로 검색


문제1. 커미션이 null 이 아닌 사원들의 이름과 커미션을 출력하시오

select ename, comm
 from emp
 where comm is not null;

문제2. mgr 이 null 사원의 이름과 직업을 출력하시오

select ename, job
 from emp
 where mgr is null;

💡 사장은 관리자가 없기 때문에 mgr(관리자 번호)가 없음
king --> 사장

0개의 댓글