[DB/SQLD] DML (3)

1 분 소요

WHERE문

연산자

where문에는 비교연산자, 부정비교연산자, 논리연산자, SQL연산자, 부정SQL연산자가 있다.

비교연산자 설명
= 같은 것 조회
< 작은 것 조회
<= 작거나 같은 것 조회
> 큰 것 조회
>= 크거나 같은 것 조회
부정비교연산자 설명
!= 같지 않은 것 조회
^= 같지 않은 것 조회
<> 같지 않은 것 조회
NOT 칼럼명= 같지 않은 것 조회
NOT 칼럼명> 크지 않은 것 조회
논리연산자 설명
AND 모든 조건을 만족해야 True
OR 조건 중 하나만 만족해도 True
NOT True이면 False, False이면 True
SQL연산자 설명
Like ‘%비교문자열%’ 비교 문자열을 조회. %는 모든 값 의미
BETWEEN A AND B A와 B 사이의 값 조회
IN (list) or을 의미하며 list값 중에 하나만 일치해도 조회
IS NULL null 조회
부정SQL연산자 설명
NOT BETWEEN A AND B A와B 사이에 해당되지 않는 값 조회
NOT IN (list) list와 불일치한 것을 조회.
IS NOT NULL null이 아닌 값을 조회
select * 
from emp
where job in ('clerk', 'manager');

job칼럼이 clerk이거나 manage인 레코드를 조회

select * 
from emp
where (job, ename) in (('clerk', 'test1'), ('manager', 'test4'));

in조건에 두개의 칼럼을 지정할 수도 있다.



Like문

like문은 와일드카드를 사용해 데이터를 조회.

와일드카드

  1. % : 어떤문자를 포함한 모든 것을 조회.
  2. _(underscore) : 한 개인 단일 문자.
select * 
from emp
where ename like 'test%';

test로 시작하는 모든 데이터 조회

select * 
from emp
where ename like '%1';

마지막이 1로 끝나는 모든 것을 조회

select * 
from emp
where ename like '%est%';

중간에 est가 있는 모든 것 조회

select * 
from emp
where ename like 'test';

like에 와일드카드를 사용하지 않으면 =과 같다.

select * 
from emp
where ename like 'test_';

test로 시작하고 하나의 아무 글자만 더 있는 것을 조회



NULL

null의 특징

  1. 모르는 값을 의미
  2. 값의 부재 의미
  3. null + (숫자,날짜) = null
  4. null과 어떤 값을 비교할 때, 알수없음이 반환된다.

null 관련 함수

  1. NVL 함수 : null이면 다른 값으로 바꾸는 함수. ‘NVL(MGR,0)’은 MGR 칼럼이 null이면 0으로 바꾼다.
  2. NVL2 함수 : NVL 함수와 DECODE 함수를 하나로 만든 것. ‘NVL2(MGR,1,0)’은 MGR 칼럼이 null이 아니면 1, null이면 0을 반환.
  3. NULLIF 함수 : 두 개의 값이 같으면 null을, 같지 않으면 첫번째 값을 반환. ‘NULLIF(exp1, exp2)’은 exp1과 exp2가 같으면 null을, 같지 않으면 exp1을 반환.
  4. COALESCE : null이 아닌 최초의 인자 값을 반환. ‘COALESCE(exp1, exp2, exp3, …)’은 exp1이 null이 아니면 exp1의 값을, 그렇지 않으면 그 뒤의 값의 null 여부를 판단해 값을 반환.