2. 웹
[SQL] 기본 문제풀이 (IS NULL,IS NOT NULL)
lory글
2021. 8. 23. 21:51
-- ex1) job이 'SALESMAN'인 데이터를 출력하되, 칼럼은 ENAME, JOB, SAL을 선택하세요.
--myquery (where job = "소문자로 입력시 출력이안된다.")
SELECT ename, job, SAL
FROM emp
WHERE job = 'SALESMAN';
--답
SELECT ename, job, sal
FROM emp
WHERE job = 'SALESMAN';
-- ex2) 부서번호(deptno)가 20이고, sal가 4000미만인 데이터를 출력하세요.
--myquery
SELECT *
FROM emp
WHERE deptno = 20 AND sal < 4000;
--답
SELECT *
FROM emp
WHERE deptno = 20
AND sal < 4000;
-- ex3) 연봉(sal)이 2000에서 3000사이 이거나, 직책(job)이 'SALESMAN'인 사원번호(EMPNO),
-- 사원명(ENAME), 직책(JOB), 연봉(SAL)을 출력하세요
--myquery
SELECT empno, ename, job, sal
FROM emp
WHERE sal BETWEEN 2000 AND 3000
OR job = 'SALESMAN'; --"SALESMAN"은 ''로 쓰지않으면 오류나온다.
--정답
SELECT ename, job, sal
FROM emp
WHERE (sal >=2000 AND sal <= 3000)
OR (job = 'SALESMAN');
-- ex4) 부서번호가 10이 아닌 경우 처리.
--myquery
SELECT * FROM EMP e
WHERE deptno != 10;
--답
SELECT *
FROM EMP
WHERE DEPTNO !=10;
-- ex5) job이 CLERK가 아닌 데이터를 출력하세요.
--myquery
SELECT * FROM emp
WHERE job != 'CLERK';
--답
SELECT *
FROM EMP e
WHERE NOT (job = 'CLERK');
--ex6) comm이 null이 아닌 데이터를
-- [ename]과 [sal의 comm의 합산한 급여]로 출력하세요.
--myquery
SELECT ename,sal, comm, sal+comm "합산"
FROM emp
WHERE comm IS NOT NULL;
--답
SELECT ename, sal, comm, sal+comm "합산"
FROM EMP e
WHERE COMM IS NOT NULL;
--ex)7 comm이 null인 데이터 중
--ename과 sal + comm 합산 급여를 출력
SELECT ename, sal, comm, sal + comm
FROM emp
WHERE comm IS NULL;