WHERE 절
WHERE절은 JAVA에서 if문과 동일한 조건절이라고 보는것이 이해하기 쉽다.
그러므로 논리연산자나 비교 연산자를 사용할 수 있다.
연산자의 종류는 아래와 같다.
비교 연산자( >, <, >=, <=, =, !=, <> ) (!= <>)같은 처리
NULL, = NULL, IS NULL, IS NOT NULL
( ), NOT, AND, OR
WHERE 절의 위치는 FROM 아래에 위치 할 수 있다.
SELECT (값)
FROM (테이블)
WHERE (조건)
WHERE 비교 연산자 예제1 ( = )
first_name 이 Julia 인 조건 SELECT
SELECT first_name, last_name, salary
FROM employees
WHERE first_name = 'Julia';
WHERE 비교 연산자 예제2 ( <= )
salary 가 9000 이상인 SELECT
SELECT first_name, salary
FROM employees
WHERE salary <= 9000;
WHERE 비교 연산자 예제3 ( >= )
first_name 이 Shanta 보다 같거나 큰 SELECT
SELECT first_name, salary
FROM employees
WHERE first_name >= 'Shanta';
ASCII CODE 값으로 비교연산 하여 SELECT 이 되어진다.
WHERE 비교 연산자 예제4 (IS NOT NULL)
manager_id 가 NULL 이 아닌 SELECT
SELECT first_name, salary
FROM employees
WHERE manager_id IS NOT NULL;
WHERE 논리연산자 예제1 (AND)
first_name 이 Shanta 이며, first_name 이 John 인 SELECT
SELECT *
FROM employees
WHERE first_name = 'Shanta'
AND first_name = 'John';
둘다 조건이 first_name 으로 연산하기 때문에 테이블 항목명만 등장하고 값은 나오지 않는다.
WHERE 논리연산자 예제2 (OR)
first_name 이 Shanta 또는, first_name 이 John 인 SELECT
SELECT *
FROM employees
WHERE first_name = 'Shanta'
OR first_name = 'John';
WHERE 논리연산자 예제3 (ALL)
first_name 이 Shanta 이며, first_name 이 John 인 SELECT = 예제 1번과 동일
SELECT *
FROM employees
WHERE first_name = ALL('Julia', 'John');
WHERE 논리연산자 예제4 (ANY)
first_name 이 Shanta 또는, first_name 이 John 인 SELECT = 예제 2번과 동일
SELECT *
FROM employees
WHERE first_name = ANY('Julia', 'John');
WHERE 논리연산자 예제5 (IN)
salary 가 8000 또는 3200 또는 6000 인 SELECT = OR의 연속
SELECT first_name, salary
FROM employees
WHERE salary IN(8000, 3200, 6000);
WHERE 논리연산자 예제6 (NOT IN)
salary 가 8000, 3200, 6000 을 포함 하지 않는 SELECT = 예제5 반대로 적용.
SELECT first_name, salary
FROM employees
WHERE salary NOT IN(8000, 3200, 6000);
WHERE 논리연산자 예제7(BETWEEN)
하나의 COLUMN 대상으로 하는 범위를 AND 와 OR(NOT 을 붙였을때)으로 사용 가능하다.
SELECT first_name, salary
FROM employees
-- WHERE salary BETWEEN 3200 AND 9000;
WHERE salary >= 3200 AND salary <= 9000;
SELECT first_name, salary
FROM employees
WHERE salary NOT BETWEEN 3200 AND 9000;
-- WHERE salary < 3200 OR salary > 9000;
WHERE 논리연산자 예제8 (LIKE)
하나의 COLUMN 대상으로 같은 값을 SELECT 한다. (NOT LIKE 로 해당하는 같은 값은 제외한 SELECT도 가능하다)
SELECT first_name, last_name
FROM employees
WHERE first_name LIKE '%Al%';
'Language > SQL' 카테고리의 다른 글
Oracle SQL DDL 02 (Data Definition Language 02) (0) | 2019.12.18 |
---|---|
Oracle SQL DDL 01 (Data Definition Language 01) (0) | 2019.12.18 |
Oracle SQL DML : SELECT 01(basic) (0) | 2019.12.12 |
Structured Query Language (SQL 이란?) (0) | 2019.12.12 |
Oracle SQL Basic (SQL 문법 및 기본함수) (0) | 2019.12.11 |