ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 조건문,논리연산자 쿼리 연습
    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.'_' 문자 하나를 의미

     

     

    'DataBase' 카테고리의 다른 글

    숫자함수  (0) 2020.07.06
    정렬 쿼리 연습  (0) 2020.07.06
    null 비교  (0) 2020.07.06
    dml 연산자 사용  (0) 2020.07.05
    데이터 딕셔너리  (0) 2020.07.05
Designed by Tistory.