Oracle DBA/SQL
20230622 (3) SQL 015 : 논리연산자(AND, OR)
Nuez
2023. 6. 22. 11:49
반응형
논리 연산자
AND
SELECT 컬럼명
FROM 테이블명
WHERE 검색조건 1 AND 검색조건2;
- AND는 검색조건이 전부 TRUE여야 데이터가 검색이 된다.
검색조건 1 | 검색조건 2 | 결과 |
T | T | T |
T | F | F |
F | T | F |
F | F | F |
문제 60. 직업이 ANALYST인 사원들이고, 월급이 3000인 사원들의 이름과 월급과 직업을 출력하시오.
SELECT ename, sal, JOB
FROM emp
WHERE JOB = 'ANALYST' AND sal =3000;
조건1,2 전부 TRUE여서 결과 출력O
SELECT ename, sal, job
FROM emp
WHERE job = 'FISHER' AND sal =3000;
조건1 만족하는 데이터가 없으므로 조건2가 TRUE여도 결과 출력X
OR
SELECT 컬럼명
FROM 테이블명
WHERE 검색조건 1 OR 검색조건2;
- OR는 검색조건 하나만 TRUE여도 데이터가 검색이 된다.
검색조건 1 | 검색조건 2 | 검색 가능 여부 |
T | T | O |
T | F | O |
F | T | O |
F | F | X |
문제 61. 월급이 1000이상이거나 부서번호가 20번인 사원들의 이름과 월급과 부서번호를 출력하시오.
SELECT ename, sal, deptno
FROM emp
WHERE sal >=1000 OR deptno = 20;
조건1,2 전부 TRUE여서 결과출력 O
SELECT ename, sal, deptno
FROM emp
WHERE sal >=1000 OR deptno = 70;
부서번호는 10,20,30번호만 존재
즉 조건2는 FALSE이지만, 조건1은 TRUE이므로 결과출력 O
참고
SELECT ename, sal, deptno
FROM emp
WHERE 1 = 1
OR sal >=1000
OR deptno = 20;
1=1은 차후 복붙하기 편하게 넣은 부분
(TRUE값으로 OR값 출력에는 영향을 주지 않으므로)
AND, OR 사용할 때 자주 볼 수 있음.