2020. 5. 1.

[Oracle] 7. BETWEEN 와 IN 연산자 정리


BETWEEN.. AND 연산자

SQL> select [distinct | all] 컬럼, 컬럼… from 테이블 where 컬럼 between 1 and 2 order by 컬럼 [asc/desc], 컬럼 [asc/desc] .

예제 1. 다음 조건에 맞는 사원을 검색한다.

  • 급여가 1000에서 2000 이내인 사원
  • 10, 20 부서 사원

SQL> select * from emp where sal between 1000 and 2000;

elm) where sal between 1000 and 
ENO 
2002 
2007 
02 
select from 
01 
SEX 
JIN 
0202 
OCOI 
0301 
HI)AIE 
1996/04/30 
1992/09/05 
2011/01/09 
2000; 
1520 
1989 
1100 
COW DNC) 
2000 20 
2300 30

SQL> select * from emp where dno between '10' and '20';

篋) select • from 더니, where dno between Ⅰ1[) and 
NO 
10이 
1%2 
002 
002 
300 10 
[刈1 
69) 
120 
ENAME 
문시헌 
김주한 
남궁연호 
권하리 
김전 유 
권나헌 
김진성 
김-경련 
SEX 
남 
01 
님 
남 
이 
01 
님 
남 
JC8 `|% 
모델링 02이 
모텔림 02이 
개발 
개발 
분식 
분석 
분석 
회게 
시원 
0202 
0202 
1%2 
03이 
1C01 
1%2 
HDATE 
1991/다2)'01 
19!]3/12713 
19%/04730 
2001/01729 
19%/1()717 
2이5/%,'PI 
20%/%713 
1999/%705 
|20 
4500 
4100 
3950 
1520 
2900 
C이씨 似0 
2000 20 
20 
19% 10 
1000 10 
2500 20 
행이 선택되있습니다.

예제 2. 1992년에서 1996 사이에 입사한 사원을 검색한다.

SQL> select * from emp where hdate between '1992/01/01' and '1996/12/31' order by hdate;

select * from where hdate between 1902/01/01 
ENO 
I COP 
2 Cora 
I C'D3 
2002 
01 
SEX 
1-1 
JCß 
0201 
OCOI 
0202 
(POP 
0201 
0202 
HDATE 
lg9P/(P/01 
1092/03/03 
1992/03/03 
1992/03/03 
1992/0/05 
lggg/1P/13 
1095/02/21 
1996/04/30 
and 
3400 
4100 
2100 
4350 
1989 
1520 
• 1906/12/31' order by hdate: 
Cu DNC) 
20 
40 
30 
30 
10 
30 
2000 20


예제 3. 급여가 2000에서 1000 사이의 사원을 검색한다.

SQL> select * from emp where sal between 2000 and 1000;

데이터 안나옴

IN 연산자

SQL> select [distinct | all] 컬럼, 컬럼… from 테이블 where 컬럼 in [1, 2.] order by 컬럼 [asc/desc], 컬럼[asc/desc]….

예제 4. 다음 조건에 맞는 사원을 검색한다.

  • 개발이나 관리 업무를 담당하는 사원
  • 10, 20 부서 사원

SQL> select * from emp where job in ('개발', '관리') order by job;

SO 
ENO 
2002 
2003 
select • frolil where job 111 ( 
개빌 
HDATE 
관리 
ENAME 
남-국연호 
이초록 
성의 찬 
SEX 
님 
님 
이 
남 
남 
J(13 
개발 
개발 
개발 
기말 
개발 
0202 
0202 
0%1 
0%1 
0202 
1993/12713 
19!]6/04730 
19니2,'C31'% 
19927%705 
order by job• 
2100 
1%9 
4350 
C이께 似0 
2% 10 
2000 20 
40 
23%%

SQL> select * from emp where dno in('10','20') order by dno;

SO select • from 더니, where dno in( 
ENO 
04이 
026니 
1001 
20이 
01기) 
2%2 
1002 
3002 
ENAME 
김 진성 
권나헌 
김선유 
-문시련 
남국연§ 
김 경 헌 
제길민 
김수한 
권아현 
SEX 
남 
01 
님 
남 
님 
남 
님 
01 
여 
JC8 
회계 
ICOI 
분석 
03이 
분석 
1C01 
!근望l랑 02이 
기말 
0202 
시원 
1%2 
개발 
0202 
모텔림 0201 
분석 
1%2 
10• , 그가) ) order by dno: 
HDATE 
20%/%713 
2이5/%,'21 
19!]8/1()결17 
19m 702701 
1993/12713 
3950 
1999/[劃'05 
4000 
1996/04/30 
1520 
19!]2/C3703 
4100 
2001/01729 
2900 
C이씨 似0 
1003 10 
19% 10 
300 10 
520 10 
200 10 
20 
9 행이 선택되있습니다.

예제 3. 결과가 동일한 두개의 sql 문을 비교해 보자

SQL> select * from emp where dno between '10' and '20' and job ='개발';

job . 
ENO 
2001 
select from 
where dno between and 
SEX 
JOB 
0202 
0202 
IIDATE 
1993/12/13 
1996/0/1/30 
3950 
1520 
Cu DNC) 
200 10 
20

SQL> select * from emp where dno in ('10','20') and job = '개발';

select from 
where dno in ( 
Cu DNC) 
2001 
200 10 
SEX 
JOB 
0202 
0202 
• 10' , 'PO') and Job 
IIDATE 
1993/12/13 
1996/0/1/30 
3950 
1520

실습

 1. 평점이 3.0에서 4.0 사이의 학생을 검색한다.

select * from student where avr between 3.0 and 4.0;

# avr열에서 3.0 부터 4.0까지를 찾는다.

5鏖) select * from student where avr between 3.0 and 4.0: 
SNO 
905301 
923903 
948204 
9453(V? 
니13%2 
933%4 
引5604 
943902 
935304 
니14502 
9245이 
924505 
9253이 
944503 
2156이 
925602 
925603 
%56()5 
94%이 
2182이 
934504 
918203 
918205 
니2B2이 
228202 
928203 
938202 
938204 
118215 
니13니04 
914504 
948202 
948205 
니4B2()니 
〕13%B 
514AA鬱 
유대지 
심남뮨 
서장동 
황진혜 
임명현 
상수! 어 
하정X[ 
최홀습 
문수보 
권석 목 
서진호 
김환 
드 요 
강대용 
강아영 
한 시 우 
심정용 
이경철 
감시신 
상문임 
독고당도 
황용진 
(기상지 
김이 
시)쉬 일 
최현 
-분원 염 
이호한 
심봔l경 
김싱시 
신험일 
유대지 
황진혜 
01 
01 
SYFAR 卜|격.l(버 
4 화학 
3 생물 
1 식임 
1 화학 
4 생물 
2 생물 
4 유공 
생불 
2 화학 
4 물리 
3 물리 
O 고 
3 유공 
유공 
4 '식염 
2 물리 
4 식임 
4 식임 
3 식염 
3 식염 
3 식임 
2 식임 
2 식염 
4 생물 
4 물리 
식임 
1 식임 
2 식염 
12』 
4 
13\

 2. 1999년에서 2001년까지 부임한 교수의 명단을 검색한다.

select * from professor where hiredate between '1999/01/01' and '2001/12/31';

where 
1013 
1012 
1018 
select * from professor 
SECT ION 
01 
hiredate 
between '1999/01/01 
HIREDATE 
1009/04/10 
2000/05/18 
1999/02/18 
2001/06/03 
and 
'2001/12/31

 3. 화학과와 물리학과, 생물학과 학생을 검색한다.

select * from student where major in ('화학','생물','물리');

SQ_> select * from student where major in (' 
5N0 
니152이 
%53이 
9%302 
915303 
923니()3 
니23!104 
933니이 
引5304 
915305 
9253% 
%3!]02 
933%3 
935303 
945302 
945303 
니45314 
9139이 
913902 
913903 
9339104 
243%1 
943902 
935304 
925309 
니4.2니% 
243%5 
3945이 
914502 
9245이 
니24502 
다24505 
924503 
925302 
9253이 
니252(별) 
〕44511 
NAME 
접동상 
유대지 
청국장 
정국주 
정남윤 
한헌 석 
김용서 
권 보수 
최정희 
김지l백 
김헌 수 
정승동 
김완장 
김 담석 
남궁결이 
이칠뮨 
황수현 
함진혜 
성 도정 
임영현 
최해원 
하청사 
최홍승 
오 우제 
유지 아 
유대지 
상-공철 
무수나 
권석 목 
은정헌 
시한호 
박경동 
이시영 
김환 
황현정 
김형진 
01 
01 
01 
01 
01 
01 
01 
SYEAR |•1自J(버 
4 화학 
3 생불 
3 생물 
2 생물 
2 화학 
2 생물 
2 생물 
1 화학 
화학 
4 생물 
4 생물 
4 생불 
2 생불 
생물 
생물 
2 화학 
화학 
1 생불 
생물 
3 물리 
3 물리 
3 화학 
3 화학 
3 화학 
물리 
95 
.34 
3.15 
24

 4. 정교수와 조교수를 검색한다.

select * from professor where orders in ('정교수','부교수');

* f 「0111 eSSOr 
NO 
1001 
1004 
1006 
1이0 
1[1별 
1013 
1012 
1021 
1%0 
1%2 
1%3 
l다3|5 
11181 
1C04 
1C35 
PNAME 
송강 
시진영 
상정아 
이규진 
이순영 
하염진 
이명준 
창사신 
주-통평 
김동평 
(기유당 
박작광 
성현수 
김서령 
최해연 
장관용 
표다 |다| 
회하 
이학 
이학 
불리 
불리 
물리 
물리 
생물 
생불 
생물 
유공 
유공 
식염 
식염 
식염 
0 [3 i n 
(죄l,:태5 
정교수 
부교수 
정교수 
정교수 
후를奪 
정교수 
정교수 
정교수 
정교수 
정 11! 수 
HIREDATE 
2002/%/12 
1991/02/01 
2003/05/20 
19%/10/07 
19!Ⅱ/10/0•1 
199니/04/19 
2000/05/18 
1997/02/17 
1989/05/05 
2%6/01 /26 
2002/02/15 
1988/11/01 
2005/07/14 
1993/07/13 
1991/10/혜 
1998/07/02 
1985/07 /28 
17 행이 선택두』있습니니.

 5. 학점수가 1학점, 2학점인 과목을 검색한다.

select * from course where st_num between 1 and 2;

f r0111 
(1긬N`世 
1211 
일반하힉실험 
1214 
무기화힉 
1216 
한-경화학 
생화학 
1221 
이학수학 
122B 
위상수힉 
전자기리 
물리실험 
구기회이실엄 
유천 학실멈 
1245 
실험 물리학 
2112 
염양힉실힘 
2313 
분류학실험 
13 행이 선택두』있습니니. 
where st_nulll between 1 and 2: 
21001 
2 1004 
2 1006 
2 100B 
21이7 
21이8 
2 1029 
2 1030 
2 1036 
21이3 
2 1034 
2 1027

 6. 1,2 학년 학생 중에 평점이 2.0에서 3.0사이인 학생을 검색한다.

select * from student where avr between 2.0 and 3.0 and syear between 1 and 2;


 7. 화학, 물리학과 학생 1,2 학년 학생을 성적순으로 검색한다.

select * from student where major in ('화학','물리') and syear between 1 and 2 order by avr desc;


 8. 물리, 화학과 학생 4.5 환산평점이 3.5에서 4.0 사이인 학생을 검색한다.

select * from student where major in ('물리','화학') and (avr/4*4.5) between 3.5 and 4.0;


 9. 물리, 화학과 학생의 정보를 학년별 성적순으로 검색한다.

select * from student where major in ('물리','화학') order by syear, avr desc;


 10. 물리, 화학과 교수 중에 1999 2000 사이에 부임한 교수의 정보를 직위별로 검색한다.

select * from professor where section in ('물리','화학') and hiredate between '1999/01/01' and '2000/12/31';








댓글 없음:

댓글 쓰기