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 사용할 때 자주 볼 수 있음.