[DB] 연산자 종류
@욕심쟁이
·2020. 7. 31. 09:33
반응형
비교연산자
= | 같다 |
> | 보다 크다 |
< | 보다 작다 |
>= | 보다 크거나 같다 |
<= | 보다 작거나 같다 |
!=, <>, ^= | 같지 않다 |
IN연산자
- 특정 컬럼에 대해서 조건값을 리스트 중 하나라도 일치한 값을 가진 행이 있다면 그 결과값을 출력
- 비교연산자와 마찬가지로 비교 컬럼과 조건값의 데이터 타입이 일치해야 함
- in ('조건문자', '조건문자', '조건문자'......);
select employee_id, last_name from employees where last_name in ('Abel', 'Whalen', 'Zlotkey');
LIKE 연산자(패턴 연산자)
- _(언더바) : 1자리의 문자(글자수 정해줌)
- %(퍼센트) : n자리의 문자(글자수 상관X)
select last_name from employees where last_name like '__n%';
//두번째 자리n인 문자열 검색
AND/OR 연산자
- AND/OR 연산자를 사용해서 추가적인 조건식을 달 수 있음
- AND 연산자의 경우 AND 양옆의 조건식을 다 만족하는 행이 결과로 출력
- OR 연산자는 OR 양옆의 조건식 중 둘 중 하나 또는 둘 다 만족하는 행만 결과로 출력
- 연산자 우선 순위에서 AND가 OR보다 더 높으므로 AND와 OR이 같이 쓰인 경우 순서에 상관없이 AND 연산자가 더 먼저 연산됨
- OR에서 우선 연산이 필요한 경우 아래의 예제와 같이 괄호를 활용해서 우선순위를 바꿀 수 있다.
select employee_id, last_name, job_id, salary from employees
where (job_id LIKE '%MAN%' OR job_id LIKE '%REP%') AND salary >= 10000;
//()를 사용하여 우선순위 정함
select employee_id, last_name, job_id, salary from employees
where job_id like '%MAN%' or job_id like '%REP%' and salary >= 10000;
//()가 없으면 %REP%만 salary 조건이 적용되고 '%MAN%'은 salary조건이 적용안됨
NOT 연산자
- 조건을 부정할 때 사용하는 WHERE절 키워드
select last_name, salary, job_id, commission_pct
from employees
where job_id not in ('AC_ACCOUNT', 'AD_VP');
//job_id에 'AC_ACCOUNT', 'AD_VP'없는것만 출력
- 부정 연산자와 같음(!=, <>, ^=)
select last_name, job_id
from employees
where job_id != 'IT_PROG';
//job_id가 'IT_PROG'아닌것 출력;
반응형
'IT > DB' 카테고리의 다른 글
[DB] MYSQL 데이터베이스 설정 (0) | 2020.08.18 |
---|---|
[DB] MYSQL 한글설정 (0) | 2020.08.18 |
[DB] GROUP BY절 과 HAVING절 (0) | 2020.08.10 |
[DB] SQL함수 (0) | 2020.07.31 |
[DB] (0) | 2020.07.17 |