본문 바로가기

SQL

[Oracle] Where 절

Where 절

: 행을 제한하는 조건절

-문자열, 날짜값은 '문자' 로 표현

날짜 : 한국(RR/MM/DD), 미국(DD-MON-RR)

-영문자는 대소문자를 구분함

 

비교연산자

= > >= < <= 같지않다 : !=,^=,<>

 

논리연산자

and : 두 조건이 모두 참일 경우 TRUE

or : 두 조건 중 하나라도 참일 경우 TRUE

not : FALSE 경우 TRUE, TRUE 경우 FALSE

논리연산자 우선순위 : 1.not 2.and 3.or

 

(not) between 하한값 and 상한값 

: 범위 조건을 사용하면 값의 범위에 따라 행을 추출

-초과,미만 표현 X

-숫자/문자/날짜 모두 사용 가능

select 열이름
from 테이블명
where 열이름 between ... and ... ;

 

In (조건1,조건2,...)

: 각 목록의 값과 일치하는 값을 추출할때 사용

 

is (not) null

: null값을 체크하는 연산자

 

like

: 문자 패턴을 찾는 연산자

'S%' : S 뒤에 0개 이상 아무 글자.

'S_' : S 뒤에 1개 아무 글자.

-like 추출해야하는 데이터에 % _가 겹칠 시 escape 식별자 사용해야한다.

-escape '부호' : escape 식별자를 부호로 선언. 부호 바로 다음은 문자로 인식.

select 열이름
from 테이블명
where 열이름 like 'HR\%\_' escape '\';

[문제4] employees 테이블에서 급여(salary)가 3000 보다 작거나 같은 사원들의 last_name, salary를 출력해주세요.

select last_name, salary
from employees
where salary <= 3000 ;

[문제5] employees 테이블에서 급여가 2500 ~ 3500 인 사원들의 last_name, salary를 출력해주세요.

select last_name, salary
from employees
where salary between 2500 and 3500 ;

[문제6] employees 테이블에 있는 데이터 중에 job_id 가 SA로 시작되고 salary는 10000이상을 받는 사원들의 모든 정보를 출력해주세요.

select *
from employees
where job_id like 'SA%'
and salary >= 10000 ;

[문제7] last_name의 세번째 문자가 'a' 또는 'e'가 포함된 모든 사원들의 last_name을 출력해주세요.

select last_name
from employees
where last_name like '__a%'
and last_name like '__e%' ;

[문제8] employees 테이블에 있는 데이터에서 job_id컬럼의 값이 SA로 시작하고 10000 이상의 salary(급여)를 받고 2005년도에 입사한(hire_date) 모든 사원들의 정보를 출력하세요.

select *
from employees
where job_id like 'SA%'
and salary >= 10000
and hire_date between '2005/01/01' and '2005/12/31' ;

[문제9] employees 테이블에서 job_id 컬럼의 값이 SA_REP 또는 AD_PRES 사원들 중에 급여가 10000 초과한 사원들의 모든 정보를 출력하세요.

select *
from employees
where job_id in ('SA_REP', 'SA_REP')
and salary > 10000 ;

'SQL' 카테고리의 다른 글

[Oracle] 단일행 함수 - 날짜함수  (0) 2021.12.22
[Oracle] 단일행 함수 - 숫자함수  (0) 2021.12.22
[Oracle] 단일행 함수 - 문자함수  (0) 2021.12.22
[Oracle] sort 정렬  (0) 2021.12.22
[Oracle] 기본 이해하기  (0) 2021.12.21
Recent Posts
Popular Posts
Recent Comments