where절에 논리연산을 이용해서 여러 비교 조건을 이용하여 검색 할 수 있다.
특정 컬럼의 범위 데이터를 구한다
where 컬럼 between a and b // a,b를 포함한 사이값을 찾는다.
조건을 걸어 원하는 값이 나오게하는 함수
decode(컬럼명,값1,변경값1,값2,변경값2,else값) from 테이블명;
select decode(department_id,10,'10번부서',
20,'20번부서',
30,'30번부서','나머지부서'
)
from employees;
select 컬럼명
case when 조건명1 then 값1
case when 조건명2 then 값2
case when 조건명2 then 값3
end
from 테이블명;
in연산자는 여러 개의 값 중 하나의 값이 포함되어 있으면 해당 데이터를 선택하는 연산자이다.
select * from employees where commission_pct in (0.1,0.25);
// commission_pct에 0.1과 0.25 중 하나를 가진 사원정보를 출력
select * from employees where commission_pct not in (0.1,0.25);
// commission_pct에 0.1과 0.25가 아닌사원정보를 출력
부분 문자열을 이용해서 원하는 문자열을 찾는 연산자
where 컬럼명 like '부분문자열'
'hi' => 해당 컬럼 문자열이 hi인 데이터만 검색
'hi%' => hi로 시작하는 모든 문자열
'%hi' => hi로 끝나는 모든 문자열
'%hi%' => hi가 들어간 모든 문자열
'%%' => 모든 문자열
'_ _' => 글자수가 2개인 모든 문자열
- 검색 결과를 정렬 할 때
select 컬럼명 from 테이블명 where 조건 order by 내림차순,오름차순;