이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 |
(1) WHERE
설명
데이터 로우를 출력할 때 원하는 조건에 해당하는 로우만 출력하고 싶을 때 사용
문법
SELECT ... FROM ... WHERE [컬럼명] = [조건]
-- 조건으로 숫자가 들어갈 경우 그냥 입력, 문자열이 들어갈 경우 작은따옴표를 '문자열'처럼 양 옆에 붙임
-- 부등호도 사용할 수 있음(>, <, >=, <=)
SELECT *
FROM EMP;
SELECT *
FROM EMP
WHERE DEPTNO = 30;
SELECT *
FROM EMP
WHERE JOB = 'MANAGER';
결과
SELECT *
FROM EMP;
SELECT *
FROM EMP
WHERE DEPTNO = 30;
SELECT *
FROM EMP
WHERE JOB = 'MANAGER';
(2) AND, OR 연산자
설명
WHERE절 뒤에 추가하여 조건을 좀 더 복잡하게 사용할 수 있음
AND 연산자는 연결한 조건을 모두 만족했을 때, OR 연산자는 여러 조건 중 하나 이상을 만족할 경우 데이터를 출력함
문법
SELECT ... FROM ... WHERE [컬럼명] = [조건] AND(OR) [컬럼명1] = [조건1] (AND(OR) [컬럼명2] = [조건2]) ...
-- AND, OR을 뒤에 계속 더하여 조건을 디테일하게 설정할 수 있음
-- AND와 OR를 여러 개 사용할 시 적용되는 순서와 범위에 유의해야 함
-- AND와 OR를 여러 개 사용할 시 괄호를 붙여서 적용 순서 및 범위를 명확히 할 수 있음
SELECT *
FROM EMP
WHERE SAL >= 2500
OR JOB = 'MANAGER';
SELECT *
FROM EMP
WHERE SAL >= 2500
AND JOB = 'MANAGER';
SELECT *
FROM EMP
WHERE SAL >= 2500
AND DEPTNO = 20
OR JOB = 'MANAGER';
SELECT *
FROM EMP
WHERE SAL >= 2500
OR JOB = 'MANAGER'
AND DEPTNO = 20;
SELECT *
FROM EMP
WHERE (SAL >= 2500
OR JOB = 'MANAGER')
AND DEPTNO = 20;
결과
SELECT *
FROM EMP
WHERE SAL >= 2500
OR JOB = 'MANAGER';
SELECT *
FROM EMP
WHERE SAL >= 2500
AND JOB = 'MANAGER';
SELECT *
FROM EMP
WHERE SAL >= 2500
AND DEPTNO = 20
OR JOB = 'MANAGER';
SELECT *
FROM EMP
WHERE SAL >= 2500
OR JOB = 'MANAGER'
AND DEPTNO = 20;
SELECT *
FROM EMP
WHERE (SAL >= 2500
OR JOB = 'MANAGER')
AND DEPTNO = 20;
'개발 지식 > [DBMS] Oracle' 카테고리의 다른 글
[Oracle] WHERE(3) - IN/BETWEEN 연산자 (0) | 2022.04.19 |
---|---|
[Oracle] WHERE(2) - <>/!=/^= 연산자 (0) | 2022.04.18 |
[Oracle] SELECT (0) | 2022.04.17 |
[Oracle] DESC 명령어 (0) | 2022.04.16 |
[Oracle] EMP, DEPT, SALGRADE 등 학습용 테이블 없는 경우 (0) | 2022.04.16 |