반응형
1. 사원 이름이 S로 끝나는 사원 데이터 모두 출력
SELECT *
FROM EMP
WHERE ENAME LIKE '%S';
출력 결과
7566 JONES MANAGER 7839 81/04/02 2975 20
7876 ADAMS CLERK 7788 87/05/23 1100 20
7900 JAMES CLERK 7698 81/12/03 950 30
2. 30번 부서에서 근무하고 있는 사원 중에 직책이 SALESMAN인 사원의 산원 번호, 이름, 직책, 급여, 부서 번호를 출력
SELECT EMPNO, ENAME, JOB, SAL, DEPTNO
FROM EMP
WHERE DEPTNO = 30 AND JOB = 'SALESMAN';
출력 결과
7499 ALLEN SALESMAN 1600 30
7521 WARD SALESMAN 1250 30
7654 MARTIN SALESMAN 1250 30
7844 TURNER SALESMAN 1500 30
3. 20번, 30번 부서에서 근무하고 있는 사원 중 급여가 2000 초과인 사원을 다음 두 가지 방식을 사용하여 사원 번호, 이름, 급여, 부서 번호를 출력
3-1) 집합 연산자 사용하지 않음
SELECT EMPNO, ENAME, SAL, DEPTNO
FROM EMP
WHERE (DEPTNO = 30 OR DEPTNO = 20) AND SAL > 2000;
출력 결과
EMPN ENAME SAL DEPTNO
7566 JONES 2975 20
7698 BLAKE 2850 30
7788 SCOTT 3000 20
7902 FORD 3000 20
3-2) 집합 연산자를 사용
SELECT EMPNO, ENAME, SAL, DEPTNO
FROM EMP
WHERE DEPTNO = 30 AND SAL > 2000
UNION
SELECT EMPNO, ENAME, SAL, DEPTNO
FROM EMP
WHERE DEPTNO = 20 AND SAL > 2000;
출력 결과
EMPN ENAME SAL DEPTNO
7566 JONES 2975 20
7698 BLAKE 2850 30
7788 SCOTT 3000 20
7902 FORD 3000 20
4, NOT BETWEEN A AND B 연산자를 쓰지 않고, 급여 열 값이 2000이상 3000이하 범위 이외의 값을 가진 데이터만 출력
SELECT *
FROM EMP
WHERE NOT (SAL >= 2000 AND SAL <=3000);
또는
SELECT *
FROM EMP
WHERE SAL < 2000 OR SAL > 3000;
출력 결과
7369 SMITH CLERK 7902 80/12/17 800 20
7499 ALLEN SALESMAN 7698 81/02/20 1600 300 30
7521 WARD SALESMAN 7698 81/02/22 1250 500 30
7654 MARTIN SALESMAN 7698 81/09/28 1250 1400 30
7839 KING PRESIDENT 81/11/17 5000 10
7844 TURNER SALESMAN 7698 81/09/08 1500 0 30
7876 ADAMS CLERK 7788 87/05/23 1100 20
7900 JAMES CLERK 7698 81/12/03 950 30
7934 MILLER CLERK 7782 82/01/23 1300 10
5. 사원 이름에 E가 포함되어 있는 30번 부서의 사원 중 급여가 1000~2000 사이가 아닌 사원 이름, 사원 번호, 급여, 부서 번호를 출력
SELECT ENAME, EMPNO, SAL, DEPTNO
FROM EMP
WHERE ENAME LIKE '%E%' AND DEPTNO = 30 AND SAL NOT BETWEEN 1000 AND 2000;
실행 결과
BLAKE 7698 2850 30
JAMES 7900 950 30
6. 추가 수당이 존재하지 않고 상급자가 있고 직책이 MANAGER, CLERK인 사원 중에서 사원 이름의 두 번째 글자가 L이 아닌 사원의 정보를 출력
SELECT *
FROM EMP
WHERE COMM IS NULL AND NOT MGR IS NULL AND (JOB = 'MANAGER' OR JOB = 'CLERK') AND NOT ENAME LIKE '_L%';
실행 결과
7369 SMITH CLERK 7902 80/12/17 800 20
7566 JONES MANAGER 7839 81/04/02 2975 20
7876 ADAMS CLERK 7788 87/05/23 1100 20
7900 JAMES CLERK 7698 81/12/03 950 30
7934 MILLER CLERK 7782 82/01/23 1300 10
728x90
반응형
'Database' 카테고리의 다른 글
오라클로 배우는 데이터베이스 입문, 둘째 마당 07 - 1 ~ 5번 연습 문제 (1) | 2025.04.27 |
---|---|
오라클로 배우는 데이터베이스 입문, 둘째 마당 06 - 1 ~ 4번 문제 (0) | 2025.04.27 |
오라클로 배우는 데이터베이스 입문, 둘째 마당 04 - 3번 (0) | 2025.04.27 |
4/25 - 트랜잭션, DDL, 객체 종류 (0) | 2025.04.27 |
4/24 - DDL (0) | 2025.04.27 |