<SELECT-WHERE절의 AND, OR>
-
employees테이블에서 department_id가 60이거나 (department_id가 80이면서 salary가 10000이상)인 직원정보 출력
1
2
3
4
|
SELECT *
FROM employees
WHERE department_id=60 OR
(department_id=80 AND salary >= 10000);
|
cs |
괄호에 의해 'department_id가 80이면서 salary가 10000이상'인 직원정보와 department_id가 60인 직원정보가 출력된다.
-
employees테이블에서 (department_id가 60이거나 department_id가 80)이고 salary가 10000이상인 직원정보 출력
1
2
3
4
|
SELECT *
FROM employees
WHERE ( department_id=60 OR
department_id=80) AND salary >= 10000;
|
cs |
괄호에 의해 department_id가 60이거나 80이고 salary가 10000이상인 직원정보가 출력된다. salary가 10000이상이면서 department_id가 60인 직원은 없다.
-
employees테이블에서 hire_date가 2008년 4월 4일 이후이거나 salary가 13000이상이고 job_id가 AD_VP인 직원 정보 출력
1
2
3
4
|
SELECT *
FROM employees
WHERE hire_date > '08/04/04' OR salary >= 13000
AND job_id = 'AD_VP';
|
cs |
괄호가 없는 경우 AND가 먼저 계산된다.
salary가 13000이상이거나 job_id가 AD_VP인 직원정보와, hire_date가 2008년 4월 4일인 직원정보가 출력된다.
-
employees테이블에서 hire_date가 2004년 1월 1일 이전이고 salary가 5000이하인 직원정보를 출력
1
2
3
4
|
SELECT *
FROM employees
WHERE NOT(hire_date > '04/01/01' OR salary > 5000);
--(hire_date<='04/01/01' AND salary <=5000)
|
cs |
hire_date가 2004년 1월 1일 이전이고 salary가 5000이하인 직원정보가 출력된다.
<AND OR 예제>
-
employees테이블에서 salary가 4000을 초과하면서, job_id가 IT_PROG인 직원정보를 출력
1
2
3
|
SELECT *
FROM employees
WHERE salary > 4000 AND job_id='IT_PROG';
|
cs |
-
employees테이블에서 salary가 4000을 초과하면서, job_id가 IT_PROG이거나 FI_ACCOUNT인 직원정보를 출력
1
2
3
|
SELECT *
FROM employees
WHERE salary > 4000 AND (job_id='IT_PROG' OR job_id='FI_ACCOUNT');
|
cs |
'Learning > SQL' 카테고리의 다른 글
BETWEEN (0) | 2020.06.12 |
---|---|
IN, NOT IN (0) | 2020.06.12 |
SELECT-WHERE 절 (0) | 2020.06.12 |
SELECT 문 (0) | 2020.06.12 |
오라클 XE, SQL Developer 설치 후 설정 (0) | 2020.06.12 |