데이터베이스 SQL문법 SELECT문-예제 문제
2021/02/24(수)
수업2
문제1)
EMP 테이블을 사용하여 다음과 같이 사원 이름(ENAME)이 S로 끝나는 사원 데이터를 모두 출력하는 SQL문을 작성해 보세요.
문제 2)
EMP 테이블을 사용하여 30번 부서(DEPTNO)에서 근무하고 있는 사원 중에 직책(JOB)이 SALESMAN인 사원의 사원 번호, 이름, 직책, 급여, 부서번호를 출력하는 SQL문을 작성해 보세요.
문제3)
EMP 테이블을 사용하여 20번, 30번 부서에 근무하고 있는 사원 중 급여(SAL)가 2000초과인 사원을 다음 두 가지 방식의 SELECT문을 사용하여 사원번호, 이름, 급여, 부서 번호를 출력하는 SQL문을 작성해 보세요.
3-1) 집합 연산자를 사용하지 않은 방식
3-2) 집합 연산자를 사용한 방식
문제4)
이번에는 NOT BETWEEN A AND B 연산자를 쓰지 않고, 급여(SAL) 열 값이 2000 이상 3000이하 범위 이외의 값을 가진 데이터만 출력하도록 SQL문을 작성해 보세요.
문제5)
사원 이름에 E가 포함되어 있는 30번 부서의 사원 중 급여가 1000~2000 사이가 아닌 사원 이름, 사원 번호, 급여, 부서번호를 출력하는 SQL문을 작성해 보세요
문제6)
추가 수당이 존재하지 않고 상급자가 있고 직책이 MANAGER, CLERK인 사원 중에서 사원 이름의 두 번째 글자가 L이 아닌 사원의 정보를 출력하는 SQL문을 작성해 보세요.
내가 작성한 답
|
|
|
▼
--문제 1)
SELECT * FROM EMP WHERE ENAME LIKE '%S';
--문제 2)
SELECT EMPNO, ENAME, JOB, SAL, DEPTNO FROM EMP WHERE DEPTNO = 30 AND JOB = 'SALESMAN';
--문제 3)
--집합 연산자를 사용하지 않은 방식
SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP WHERE DEPTNO IN(20,30) AND SAL > 2000;
--집합 연산자를 사용한 방식
SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP WHERE DEPTNO=20 AND SAL>2000 UNION
SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP WHERE DEPTNO=30 AND SAL>2000;
--문제 4)
SELECT * FROM EMP WHERE SAL <2000 OR SAL >3000;
--문제 5)
SELECT ENAME, EMPNO, SAL,DEPTNO FROM EMP WHERE ENAME LIKE '%E%'
AND DEPTNO=30 AND SAL NOT BETWEEN 1000 AND 2000;
--문제 6)
SELECT * FROM EMP WHERE COMM IS NULL AND JOB IN('MANAGER','CLERK') AND ENAME NOT LIKE '_L%';