DBMS/Summary

And || OR || NOT 연산..

gandus 2010. 4. 14. 12:43

And 연산

/*
##커미션을 받는 사원중 월급이 1500이상인
select *from emp
where comm is not null && sal >= 1500;
*/

/*
##  월급이 1500 에서 2500사이인 직원중 직업이 s 로 시작하는 사원
select *from emp
where sal between 1500 and 2500 && job like 's%';
*/

/*
## 사원이름이 j로 시작하고 입사일이 1980년 이후인 사람은
select *from emp
where ename like 'j%'  &&
hiredate like '1981%';
*/

/*
##  사원이 LA를 포함  직업에 man으로 시작하는 사원은
select *from emp
where ename like '%la%' &&
job like 'man%';
*/

/*
## 월급이 3000이상이고 매니저인 사람은
select *from emp
where sal >= 3000 &&
job = 'MANAGER';
*/


OR연산

/*
## 커미션 받는사원 또는 월급 1500 이상인
select *from emp
where comm is not null || sal >= 1500;
*/

/*
## 월급이 1500에서 2500 사이인 직원이거나 s로 시작하는 사원
select *from emp
where sal between 1500 and 2500 ||
ename like 's%';
*/

/*
## 사원 이름이 j로 시작하거나 입사일이 1980년 이후인
select *from emp
where ename like 'j%' ||
hiredate like '1980%';
*/

/*
## 사원 이름이 la를 포함하거나 직업이 man로 시작하는
select *from emp
where ename like '%la%'  ||
job like 'man%';
*/

/*
## 월급이 3000이상이거나 매니저인 사람은?
select *from emp
where sal >= 3000 ||
job = 'manager';
*/




NOT 연산


/*
select *from emp
where job in('manager' , 'clerk');    ##  - > 매니져 거나 클러크 이거나
*/

/*
select *from emp
where job not in('manager' , 'clerk');    ##  - > 매니져도 아니고 클러크도 아닌사람
*/

/*
##월급이 2000과 3000사이가 아닌사원은
select *from emp
where sal not between 2000 and 3000;
*/

/*
## 직업이 s로 시작하지 않는 사원은
select *from emp
where ename not like 's%';
*/

/*
## 이름이 s로 시작하고, 직업이 a로 시작하지 않는 사원은
select *from emp
where ename like 's%' &&
job not like 'a%';
*/

/*
## 커미션이 있는 사원중에 커미션이 300~ 500사이가 아닌사람은
select *from emp
where comm is not null &&
comm not between 300 and 500;
*/