[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