논리 연산자

김연수·2023년 2월 27일
0

Database

목록 보기
1/2

논리 연산자를 사용하면 여러 조건식을 묶어 하나의 조건식으로 만들 수 있다

  • and : 좌우 조건식이 모두 참일 경우 참
  • or : 좌우 조건식이 모두 거짓일 경우 거짓
  • not : 조건식의 결과를 부정
  • between and : 범위조건
  • in : 항목조건

예제

  • 10번 부서에서 근무하고 있는 직무가 MANAGER인 사원의 사원번호, 이름, 근무부서, 직무를 가져온다
SELECT EMPNO, ENAME, DEPTNO, JOB 
FROM EMP 
WHERE DEPT = 10 AND JOB = 'MANAGER'
  • 입사년도가 1981년인 사원중에 급여가 1500이상인 사원의 사원번호, 이름, 급여, 입사일을 가져온다
1)
SELECT EMPNO, ENAME, SAL, HIREDATE 
FROM EMP 
WHERE HIREDATE >= '1981/01/01' 
AND HIREDATE <= '1981/12/31' AND SAL >= 1500

2)
SELECT EMPNO, ENAME, SAL, HIREDATE 
FROM EMP 
WHERE HIREDATE BETWEEN '1981/01/01' 
AND '1981/12/31' AND SAL >= 1500
  • 20번 부서에 근무하고 있는 사원 중에 급여가 1500 이상인 사원의 사원번호, 이름, 부서번호, 급여를 가져온다
SELECT EMPNO, ENAME, DEPTNO, SAL
FROM EMP
WHERE DEPTNO = 20 AND SAL >= 1500
  • 직속상관 사원 번호가 7698번인 사원중에 직무가 CLERK 인 사원의 사원번호, 이름 , 직속상관번호, 급여를 가져온다
SELECT EMPNO, ENAME, MGR, JOB
FROM EMP
WHERE MGR = 7698 AND JOB = 'CLERK'
  • 급여가 2000보다 크거나 1000보다 작은 사원의 사원번호, 이름, 급여를 가져온다
1)
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE SAL > 2000 OR SAL <1000

2)
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE NOT(SAL >= 1000 OR SAL <= 2000)

3)
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE NOT(SAL BETWEEN 1000 AND 2000)
  • 부서 번호가 20이거나 30인 사원의 사원번호, 이름, 부서번호를 가져온다
SELECT EMPNO, ENAME, DEPTNO
FROM EMP
WHERE DEPTNO = 20 OR DEPTNO = 30
  • 직무가 CLERK, SALESMAN, ANALYST인 사원의 사원번호, 이름, 직무를 가져온다
1)
SELECT EMPNO, ENAME, JOB
FROM EMP
WHERE JOB = 'CLERK' OR JOB = 'SALESMAN' OR JOB = 'ANALYST'

2)
SELECT EMPNO, ENAME, JOB
FROM EMP
WHERE JOB IN ('CLERK','SALESMAN','ANALYST')
  • 사원 번호가 7499, 7566, 7839가 아닌 사원들의 사원번호, 이름을 가져온다
1)
SELECT EMPNO, ENAME
FROM EMP
WHERE EMPNO <> 7499 AND EMPNO <> 7566 AND EMPNO <> 7839

2)
SELECT EMPNO, ENAME
FROM EMP
WHERE NOT(EMPNO = 7499 OR EMPNO = 7566 OR EMPNO = 7839)

3)
SELECT EMPNO, ENAME
FROM EMP
WHERE NOT(EMPNO IN(7499,7566,7839))
profile
코린이

0개의 댓글