/*
# SELECT 컬럼명 FROM 테이블명 WHERE 조건절;
- SELECT문에 조건을 추가하여 해당 조건을 만족하는 행들만 조회할 수 있다
# 비교 연산자
= : 같다
<, >, <=, >= : 비교
!=, <>, ^= : 다르다
*/
SELECT * FROM employees WHERE salary = 7000;
SELECT * FROM employees WHERE salary > 7000;
SELECT * FROM employees WHERE 7000 < salary;
SELECT * FROM employees WHERE salary <> 7000;
--오라클의 문자열 리터럴은 ''만 허용한다
SELECT * FROM employees WHERE first_name = 'Oliver';
SELECT * FROM employees WHERE first_name = 'OLiver';
SELECT * FROM employees WHERE first_name > 'Oliver';
SELECT * FROM employees WHERE hire_date = '03/06/17';
SELECT * FROM employees WHERE hire_date < '03/06/17';
SELECT * FROM employees WHERE hire_date > '03/06/17';
--AND, OR, NOT 엔드 =>&& , 올 =>||
SELECT * FROM employees WHERE hire_date < '03/06/17' AND hire_date > '02/01/01';
/*
연습1: 2000에서 3000사이의 월급을 받는 사원들의 모든 정보를 조회해보세요
연습2: 부서번호가 30번이거나 60번이거나 90번인 사원들의
이름/직책/이메일을 조회해보세요
*/
SELECT * FROM employees WHERE salary >= 2000 AND salary <= 3000;
-- COLUMN BETWEEN A AND B : 해당 컬럼 값이 A이상 B이하인 경우
SELECT * FROM employees WHERE salaary BETWEEN 2000 AND 3000;
SELECT
first_name,
job_id,
email
FROM
employees
WHERE department_id = 30 OR department_id =60 OR department_id =90;
--COLUMN IN (A, B, ...) : ()안의 내용 중 하나인 경우 참
SELECT * FROM employees WHERE department_id IN (30,60,90);
-- commission_pct가 null인 사원을 모두 조회
SELECT * FROM employees WHERE commission_pct = null;
SELECT * FROM employees WHERE commission_pct != null;
--NULL은 값이 아니기 때문에 어떤 값과도 크기 비교가 불가능하다
SELECT * FROM employees WHERE commission_pct IS NULL;
SELECT * FROM employees WHERE commission_pct IS NOT NULL;
SELECT * FROM employees WHERE NOT commission_pct IS NULL;
--NOT의 위치는 자유롭다
SELECT * FROM employees WHERE department_id NOT IN (30,60,90);
SELECT * FROM employees WHERE NOT department_id IN (30,60,90);
/*
# LIKE
- 데이터의 일부분으로 원하는 내용을 검색할 수 있는 문법
- 문자 타입과 날짜 타입에 모두 사용할 수 있다
- % : 길이 제한 없이 아무 문자열이나 와도 되는 자리 (없는 것도 됨)
- _ : 하나의 아무 문자나 와도 되는 자리
*/
SELECT last_name FROM employees WHERE last_name LIKE 'G%';
SELECT last_name FROM employees WHERE last_name LIKE 'G____';
SELECT last_name FROM employees WHERE last_name LIKE '_r%'; --두번째 글자가 r인 애들
SELECT last_name FROM employees WHERE last_name LIKE '%r__'; --뒤에서 세번째 글자가r인 애들
/*
연습1: 이름이 a로 끝나는 모든 사원을 조회
연습2: 이름에 e가 두개 이상 포함된 모든 사원을 조회
연습3: 이름이 다섯 글자면서 가운데에 a또는 e가 들어가는 모든 사원을 조회
*/
SELECT * FROM employees WHERE first_name LIKE '%A';
SELECT * FROM employees WHERE first_name LIKE '%e%e%';
SELECT * FROM employees WHERE first_name LIKE '__a__' OR first_name LIKE '__e__';
SELECT
*
FROM
employees
WHERE
first_name LIKE '__a__'
OR first_name LIKE '__e__';
--UNION ALL : 두 쿼리문의 합집합
SELECT first_name, salary FROM employees WHERE first_name LIKE '__a__'
UNION ALL
SELECT first_name, salary FROM employees WHERE first_name LIKE '__g__';
-- INTERSECT : 두 쿼리문의 교집함 // 공통되는 값
SELECT * FROM employees WHERE first_name LIKE '%%%a%'
INTERSECT
SELECT * FROM employees WHERE first_name LIKE '%%%e%';
SELECT * FROM employees WHERE first_name LIKE '__a__'
UNION ALL
SELECT * FROM employees WHERE first_name LIKE '__e__'
INTERSECT
SELECT * FROM employees WHERE first_name LIKE '__a__';
--MINUS : 차집합
SELECT * FROM employees WHERE first_name LIKE '__a__'
MINUS
SELECT * FROM employees WHERE first_name LIKE '__e__';
'공부 > Database 복습' 카테고리의 다른 글
6.Database 조인 (0) | 2021.08.01 |
---|---|
5.Database 정렬 (0) | 2021.07.26 |
4.Database 그룹 함수 (0) | 2021.07.19 |
3.Database 함수 (0) | 2021.07.19 |
1.데이터베이스 SELECT (0) | 2021.07.17 |