기본적인 WHERE절 문법
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table
[WHERE condition(s)];
조건(condition(s))이 true인 경우에 해당 조건을 충족하는 행이 반환됨.
이때 조건에 문자열 및 날짜 값이 들어갈 경우 ''으로 묶는다
문자값은 대소문자를 구분, 날짜는 형식을 구분(기본적으로 DD-MON-RR)
연산자의 종류
+ - * / 산술
= < > <= >= 비교
not and or 논리
비교연산자
연산자 |
의미 |
= |
같음 |
> |
초과 |
>= |
이상 |
< |
미만 |
<= |
이하 |
<> |
같지 않다 |
BETWEEN ... AND .... |
두 값 사이(경계값 포함) |
IN (set) |
값 리스트 중 일치하는 값 검색 |
LIKE |
일치하는 문자 패턴 검색 |
IS NULL |
null 값인지 여부 |
논리연산자
연산자 |
의미 |
AND |
두 구성 요소 조건이 모두 참인 경우 TRUE를 반환. |
OR |
구성 요소 중 하나가 참인 경우 TRUE를 반환. |
NOT |
조건이 거짓인 경우 TRUE를 반환. |
아래는 기본적인 WHERE의 예시이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | select employee_id, last_name AS lname from employees where last_name='King'; select * from employees where department_id = 10 and salary > 3000; select * from employees where department_id = 10 or salary > 3000; select * from employees where department_id = 90 and salary > 3000 and job_id = 'AD_VP'; | cs |
between은 between '하한' and '상한' 으로 작성한다.
다음 예시의 두 코드는 같은 의미이다.
1 2 3 4 5 6 7 8 | select * from employees where salary >= 2000 and salary <= 3000; select * from employees where salary between 2000 and 3000; | cs |
문자와, 날짜에도 between을 사용할 수 있다.
IN은 값 리스트중 일치하는 값을 선택할때 사용한다.
다음 예시의 두 코드는 같은 의미이다.
1 2 3 4 5 6 7 8 9 | select * from employees where department_id = 60 or department_id = 90 or department_id = 10; select * from employees where department_id IN (60,90,10); | cs |
LIKE는 검색 문자열 값의 대체 문자 검색을 수행한다.
검색 조건에는 리터럴 문자나 숫자가 포함될 수 있다.
%는 0개 이상의 문자를 나타내며, _는 한 문자를 나타낸다.
다음 예시는 S로 시작하는 값을 검색하는 것을 말한다.
1 2 3 | SELECT first_name FROM employees WHERE first_name LIKE 'S%'; | cs |
NOT은 다른연산자 앞에 붙고 부정의 값을 찾는 것이다.
다음 예시를 참고하자.
1 2 3 | select last_name, salary from employees where not salary between 1000 and 3000; | cs |
SQL을 배운지 얼마 되지 않아 잘못된 내용이 있을 수 있습니다. 틀린 내용이있다면, 댓글로 달아주세요.
'DATABASE(oracleDB 11g) > SQL' 카테고리의 다른 글
[SQL]DEFINE 및 VERIFY 명령 (0) | 2019.01.24 |
---|---|
[SQL]치환 변수와 바인드 변수 (0) | 2019.01.24 |
[SQL]ORDER BY의 기초 (0) | 2019.01.24 |
[SQL]기본적인 SELECT 문 (0) | 2019.01.23 |
Database란? (0) | 2019.01.23 |