-
조건문,논리연산자 쿼리 연습DataBase 2020. 7. 6. 02:54
조건문 연습
--근무 부서가 10인 전 사원정보를 가져와라
select * from emp where deptno=10;
--근무 부서가 10이 아닌 전 사원정보를 가져와라
select * from emp where deptno <> 10;
-- 1982년 1월 1일 이후에 입사한 전 사원정보를 가져와라
select * from emp where hiredate > '1982/1/1';논리 연산자(여러 조건식을 묶어서 하나의 조건식으로 만듬)
--입사년도가 1981년인 사원중에 급여가 1500이상인 사원의 모든 정보를 가져온다.
select * from emp where hiredate >= '1981/01/01' and hiredate <= '1981/12/31' and sal > 1500;
select * from emp where hiredate between '1981/01/01' and '1981/12/31' and sal > 1500;--20번 부서에 근무하고 있는 사원 중에 급여가 1500이상인 사원의 모든 정보를 가져온다
select * from emp where deptno=20 and sal >= 1500--급여가 2000보다 크거나 1000보다 작은 사원의 모든 정보를 가져온다
select * from emp where sal>2000 or sal<1000;
select * from emp where not(sal<=2000 and sal>=1000);
select * from emp where not(sal between 1000 and 2000);--직무가 clerk, salesman, analyst 인 사원은 모든 정보를 가져온다
select * from emp where job='CLERK' or job='SALESMAN' or job='ANALYST';
select * from emp where job in('CLERK','SALESMAN','ANALYST');--사원 번호가 7899,7566,7839가 아닌 사원들의 사원번호, 이름을 가져온다
select empno,ename from emp where empno <> '7899' and empno <> '7566' and empno <> '7839'; 7988가 아닌거 7566가 아닌거 7839가 아닌거
select empno,ename from emp where not(empno='7899' or empno='7566' or empno='7839'); 7899이거나 7566이거나 7839인게 아닌것
select empno,ename from emp where not empno in('7899','7566','7839');LIKE
-- 이름이 F로 시작하는 사원의 이름과 사원 번호를 가져온다
select ename,empno from emp where ename like 'F%';
-- 이름이 S로 끝나는 사원의 이름과 사원 번호를 가져온다.
select ename, empno from emp where ename like '%S';
-- 이름에 A가 포함되어 있는 사원의 이름과 사원 번호를 가져온다.
select ename,empno from emp where ename like '%A%';
-- 이름의 두번째 글자가 A인 사원의 사원 이름, 사원 번호를 가져온다. (_ 한글자를 의미)
select ename, empno from emp where ename like '_A%';
-- 이름의 두번째 글자가 A이고 이름에 알파벳이 총 4개인 사원의 사원 이름,사원 번호를 가져온다
select ename, empno from emp where ename like '_A__';-- 이름이 4글자인 사원의 사원 이름, 사원 번호를 가져온다.
select ename,empno from emp where ename like '____';정리
1.like 연산자를 사용하면 문자열에 대한 다양한 비교연산이 가능하다
2.'_' 문자 하나를 의미