DBMS/Summary

Between || IN || LIKE || IS NULL 활용문제.

gandus 2010. 4. 14. 13:58


/*
select ename, sal        
from emp
where sal between 2500 and 3000;    // Between 문
*/

/*
select  *from emp
where deptno in(10);   // IN( set) 문
*/

 

 


 ## ★★★★★ Between 문입니다 ★★★★★

 

 


/*
## emp테이블에 입사일(hiredate)이 1981년인 사람은?
              
select *from emp              ## where hiredate like "1981%";                  
where hiredate between '19981-01-01' and '1981-12-30';
*/

/*
## emp테이블에서 입사일이 1982년과 1987년 사이인 사람은 누구인가?

select *from emp
where hiredate between '1982-01-01' and '1987-12-31';
*/

/*
## emp 테이블에서 커미션이 300과 500 사이인 사람은
select *from emp
where comm between 300 and 500;
*/

/*
## 사원번호가(empno) 75**를 가진 사람은 누구인가
select *from emp
where empno between 7500 and 7599;
*/

/*
## 76**을 매니저로 가진 사람은 누구인가?
select *from emp
where job = 'MANAGER' &&
empno between 7600 and 7699;
*/

 

 


 ## ★★★★★ IN 문입니다 ★★★★★

 

 

 

/*
## 부서번호가 10, 20번인 사원은?

select *from emp
where deptno in(10, 20);
*/

/*
# 입사일이 1981-09-28닝, 1981-05-01일, 1981-09-08일인 사원은

select *from emp
where hiredate in ('1981-09-28', '1981-05-01', '1981-09-08');
*/


# 커미션이 300 , 500 , 1400인 사원은 누구인가?


/*
# 7698,7839, 7566를 매니저로 가진 사원은 누구인가?
select *from emp
where mgr in(7698, 7839, 7566);
*/


# CLERK, MANAGER, SALESEMAN을 직업으로 가진 사람은??

 

 

 

 ## ★★★★★ LIKE 문입니다 ★★★★★

 

 

 ## like는  무조건 조건에 ' ' 를 사용해야한다, 정수든 실수든
 ## '%s' 는 s로 시작하는 것이고.    '_s%' 는 앞에 한글자는 아무거나 가능

/*
 ##이름이 s로 시작하는 사원
select *from emp
where ename like 's%';
*/

/*
 ##이름이 N으로 끝나는 사원은?
 select *from emp
 where ename like'%n';
*/

/*
 ##이름의 3번째가 L인 사원은
select *from emp
where ename like'__L%';
*/

/*
 ## 사원번호가 77**
 select *from emp
 where empno like '77__'  ;     ## '77%' 이거보다 더 정확하다.
*/

/*
 ##이름에 LA를 가진
 select *from emp
 where ename like '%la%';
*/

/*
 ## 이름이 j로 시작 s로 끝인
select *from emp
where ename like 'j%' && ename like '%s';
*/

/*
 ## 직업에 MAN이 들어가는
select *from emp
where job like '%man%';
*/

/*
 ## 첫글자와 세번쩨가 A을
select *from emp
where ename like 'A_A%';
*/

 


 ## ★★★★★ IS NULL 문입니다 ★★★★★

 

/*
select ename, mgr from emp          ## NULL == 0 같이 크기비교 안된다.
where mgr is null;      ## 왜냐하면 0이 아니라 값이 없다는 것이라서.

select ename, mgr from emp
where mgr is not null;
*/

/*
## 커미션이 널인 사원?
select *from emp
where comm is NULL;
*/

/*
## 커미션 널인 사원에게 보너스로 100을 더
select ename, sal + 100 from emp
where comm is null;
*/

/*
## 매니저가 없는 사람은?
select job from emp
where mgr is null;
*/