![article thumbnail image](https://blog.kakaocdn.net/dn/m92VG/btrMgQqIlrO/WQMsBaC2sjkH1an8Xggu61/img.png)
<where절>
- 행을 제한하는 조건절(조건문/조건식)
규칙)
1. 조건문을 작성하자 => (where column 연산자 값)
2. 값 명시할때 문자/날짜일 경우 반드시 ' ' 붙여야한다.
3. 값을 명시할때 반드시 테이블에 저장된 데이터 형식 그대로(아스킬코드) 사용해야한다.(연산자'='때문에)
- from절 다음 위치
- 순서 : from절 -> where절 -> select list절
예제) 90번 부서에 근무하는 사원의 이름과 급여를 출력
select last_name, salary
from employees
where department_id = 90
●연산자
ex)
where hire_date = '01-JAN-95'
where salary>=6000
where last_name='Smith'
select last_name, salary*12 as annsal
from employees
where annsal > 5000
/
==> 순서상으로 where절이 select절보다 순서가 먼저기때문에 alias절을 사용 할 수 없다.
select last_name, salary*12 as annsal
from employees
where salary*12 > 5000
/
다른 예
select last_name
from employees
where salary*12 > 5000
/
==> 가능하다
●비교연산자
* between A and B : 두 값 사이(범위)
* in : =(같다)(복수)
* like : 일부만 알고 있을때
* is null : 널값을 알때
- between a and b
모든 데이터 타입(숫자, 문자, 날짜)에 사용가능하다
- in
- like
기호 | 설명 |
% | 1개 이상의 문자 |
_ | 문자 하나를 나타낸다 |
S로 시작 : 'S%'
S로 끝 : '%S'
S가 사이에 : '%S%'
'%o_' : 뒤에서 두번째 글자가 'o'인 것을 찾아라.
- is null
null값을 찾을 때 사용
● 논리 조건
where절에 조건문(col 연산자 값)이 추가 되었을때 사용
ex) did = 90 and 50(X)
did = 90 and did=50(O)
예제) 90번 부서에 근무하는 사원들 중에 급여가 5000 이상인 사원의 이름과 급여를 출력하세요
select last_name, salary
from employees
where department_id = 90 and salary>=5000
/
- and 연산자
- or 연산자
- not연산자
부정연산자
■ ORDER by 절
실행순서 : from절 -> where절 -> select절 -> order by절 순으로 실행한다.
- select 절에 사용한 alias는 order by절에도 똑같이 쓰여야 한다.
예제)
오답)
select last_name, department_id
from employees
where department_id = 20
or department_id = 50
order by department_id
/
* 복수연산자 in을 사용하여 코드 길이를 줄일 수 있다.
* department_id 는 숫자이므로 last_name으로 정렬한다.
정답)
select last_name, department_id
from employees
where department_id in (20,50)
order by last_name
/
PS. 에러가 발생할때 에러메세지를 잘보고 저장해놓자!
'Study > DataBase' 카테고리의 다른 글
Database기초 6일차 <서브쿼리> (0) | 2022.09.20 |
---|---|
Database기초 5일차 <Group by, Having> (2) | 2022.09.19 |
Database기초 4일차 <예제 및 JOIN> (0) | 2022.09.17 |
데이터베이스 기초 2일차 (0) | 2022.09.15 |
데이터베이스 기초 1일차 (0) | 2022.09.13 |