일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- SQL
- Operator
- 오류
- sqldeveloper
- error
- datatype
- 자료형
- 삐옥
- 오라클오류
- JS
- 코딩
- HTML
- CSS
- Java
- variable
- 이클립스
- 변수
- Servlet
- 연산자
- Eclipse
- function
- 자바
- 에러
- oracle
- select
- 오라클
- VisualStudioCode
- From
- 개발자
- 서블릿
- Today
- Total
뇨내
[Oracle - SQL Developer] where 본문
WHERE
WHERE절
- 가져올 레코드를 지정할 조건을 명시한다.
- 주로 조건은 비교 연산자나 논리 연산자를 사용한다.
SELECT 컬럼리스트
FROM 테이블
WHERE 조건;
[실행순서]
1. FROM 테이블
2. WHERE 조건
3. SELECT 컬럼리스트
1. SELECT 컬럼리스트
- 가져올 컬럼을 지정한다.
- 컬럼값, 컬럼값을 대상으로 연산
-프로젝션 연산
2. FROM 테이블
- 데이터 소스를 지정한다.
- 테이블을 선택
3. WHERE 조건
- 가져올 레코드를 지정한다.
- 제시한 조건을 만족하는 레코드만 결과셋으로 반환
- 셀렉션 연산
*SQL 문장 = Query(쿼리) = 시퀄
1
2
3
4
|
select * from tblCountry; --FullSet
select name, area from tblCountry; --Projection > FullSet 부분집합
select * from tblCountry where continent = 'AS'; --Selection > FullSet 부분집합
select name from tblCountry where continuent = 'AS'; --Selection + Projection > FullSet 부분집합
|
cs |
BETWEEN A AND B
- where절에서 사용 > 조건으로 사용
- 범위 조건 사용
- 컬럼명 between 최솟값 and 최댓값
- 연산자 사용보다 가독성 향상(BUT 성능 느림)
- 최솟값, 최댓값 포함 = inclusive
IN
in
- where절에서 사용 > 조건으로 사용
- 열거형 조건 > 제시된 값 중 하나라도 만족
- 컬럼명 in (값, 값, 값, ...)
LIKE
- where절에서 사용 > 조건으로 사용
- 패턴 비교 > 정규 표현식의 동작과 유사
- 컬럼명 like '패턴 문자열'
- 문자형에만 사용 가능(숫자, 날짜 적용 불가능)
-------------------------
패턴 문자열 구성 요소
1. _ : 임의의 문자 1개
2. % : 임의의 문자 N개 (0~무한대)
NULL
RDBMS에서의 null
- 자바의 null과 유사
- 컬럼값(셀)이 비어있는 상태
- null 상수 제공
- 대다수의 언어에서 null은 연산의 대상이 될 수 없다.
null 조건
- where절 사용
- 컬럼명 is null (null 이 아닐 경우 = is no null)
문 제 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
-- 직원
select * from tblInsa;
-- 직원의 이름, 부서, 급여만 가져오시오.
select name, buseo, basicpay from tblInsa;
-- 영업부(buseo) 직원을 가져오시오.
select * from tblInsa where buseo = '영업부';
-- 영업부(buseo) 직원의 이름, 부서, 급여만 가져오시오.
select name, buseo, basicpay from tblInsa where buseo = '영업부';
-- 영업부 + 서울
select * from tblInsa where buseo = '영업부' and city = '서울';
-- 영업부 + 서울 + (사원 or 대리) 조건 3개
select * from tblInsa where buseo = '영업부' and city = '서울' and jikwi = '사원' or jikwi = '대리'; -- 조건 4개, 착각하지 말 것!
select * from tblInsa where buseo = '영업부' and city = '서울' and (jikwi = '사원' or jikwi = '대리'); -- 조건 3개
-- 급여가 180만원 이상
select * from tblInsa where basicpay >= 1800000;
-- 급여가 180만원 이상 200만원 이하
select * from tblInsa where basicpay >= 1800000 and basicpay <=2000000;
-- '대한미디어' 출판사에서 출간한 도서만 가져오시오.
select * from book where publisher = '대한미디어';
|
cs |
문 제 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
select * from tblComedian;
-- 1. 몸무게가 50kg 이상이고, 키가 160cm미만인 사람만 가져오시오.
select * from tblComedian where weight >= 50 and height < 160;
select last || first as name, gender, height, weight, nick
from tblComedian
where weight >= 50 and height < 160; -- 이름 합친 쿼리(별칭 추가) + 절마다 엔터(가독성)
-- 2. 여자만 가져오시오.
select last || first as name, gender, height, weight, nick
from tblComedian where gender = 'f';
-- tblInsa
-- 3. 부서가 '영업부'이고 급여를 250만원 이상 받는 직원을 가져오시오.
select * from tblInsa where buseo = '영업부' and basicpay >= 2500000;
-- 4. 급여(basicpay) + 수당(sudang) 한 금액이 500만원 이상 받는 직원을 가져오시오.
select name, basicpay, sudang, (basicpay + sudang) from tblInsa
where basicpay + sudang >= 5000000;
|
cs |
'Oracle > Select + Operator + Where' 카테고리의 다른 글
[Oracle - SQL Developer] operator : 연산자 실습 (0) | 2021.11.13 |
---|---|
[Oracle - SQL Developer] operator : 연산자 (0) | 2021.11.13 |
[Oracle - SQL Developer] SELECT 실습 (0) | 2021.11.13 |
[Oracle - SQL Developer] SELECT (0) | 2021.11.13 |