카테고리 없음
연습문제
장꾸꾸
2020. 10. 16. 17:48
연습문제1
--QUESTION
--1. 사원테이블에서 모든 데이터를 출력하라
select *
from emp;
--2. 사원테이블에서 사원번호, 사원이름, 월급을 출력하라
select empno, ename, sal
from emp;
--3. 사원테이블에서 월급을 뽑는데 중복된 데이터가 없게 출력하라
select distinct sal
from emp;
--4. 사원테이블에서 사원이름과 월급을 출력하는데 각각의 컬럼명을
-- '이 름,'월 급'으로 바꿔서 출력하라. 단, ALIAS에 공백 추가
select ename as "이 름", sal as "월 급"
from emp;
--5. 사원테이블에서 사원이름, 월급을 뽑고, 월급과 커미션을 더한 값을
-- 출력하는데 컬럼명을 '실급여'이라고 해서 출력하라.
-- 단, NULL값은 나타나지 않게 하라(커미션 안받는사람제외)
select ename as 사원이름, sal as 월급, sal+(sal*comm) as 실급여
from emp
where comm is not null;
--6. 사원테이블에서 'SCOTT'이라는 사원의 사원번호, 이름, 월급을 출력하라
select empno, ename, sal
from emp
where ename like 'SCOTT';
--7. 사원테이블에서 직위가 'SALESMAN'인 사원의 사원번호, 이름, 직위를
-- 출력하라
select empno, ename, sal
from emp
where job like 'SALESMAN';
--8. 사원테이블에서 사원번호가 7499, 7521, 7654인 사원의 사원번호, 이름
-- 월급을 출력하라
select empno, ename, sal
from emp
where empno in ('7499', '7521', '7654');
--9. 사원테이블에서 월급이 1500에서 3000사이인 사원의 사원번호, 이름,
-- 월급을 출력하라.
select empno, ename, sal
from emp
where sal between 1500 and 3000;
--10. 사원테이블에서 이름의 첫글자가 A이고 마지막 글자가 N이 아닌 사원의
-- 이름을 출력하라
select ename
from emp
where substr(ename,1,1)='A' and substr(ename,-1,1)='N';
연습문제2
--QUESTION(함수)
--1. 사원 테이블에서 사원이름을 첫글자는 대문자로, 나머지는 소문자로 출력하라
-- [결과] 사원이름
-- ---------------------
-- Smith
select initcap(ename) as 사원이름
from emp;
--2. 사원테이블에서 사원이름을 뽑고 또 이름의 두번째 글자부터 네번째 글자까지
-- 출력하라.
-- [결과] 사원이름 2-4문자
-- ---------------------
-- SMITH MIT
select substr(ename, 2, 4)
from emp;
--3. 사원테이블의 사원 이름의 철자 개수를 출력하라.
select length(ename) from emp;
--4. 사원테이블에서 사원 이름의 앞 글자 하나와 마지막 글자 하나만 출력하되
-- 모두 소문자로 각각 출력하라.
select lower(concat(substr(ename, 1, 1) , substr(ename, -1, 1) )from emp;
--5. 3456.78의 소수점 첫번째 자리에서 반올림하라.
--6. 3의 4제곱을 구하고, 64의 제곱근을 구하라.
--7. 오늘날짜와 오늘날짜에서 10일을 더한 날짜를 출력하라.
--8. 국제 표준으로 현재 날짜를 출력하라.
--9. 사원테이블에서 사원이름과 사원들의 오늘 날짜까지의 근무일수를 구하라.
--사원이름 근무일수
-- -----------------------
-- SMITH 12628
-- ALLEN 12563
-- WARD 12561
-- JONES 12522
-- MARTIN 12343
-- BLAKE 12523
-- CLARK 12462
-- SCOTT 11967
-- KING 12293
-- TURNER 12363
-- ADAMS 11872
-- JAMES 12338
-- FORD 12338
-- MILLER 12226
--10. 위 문제에서 근무일수를 00년 00개월 00일 근무하였는지
--확인할 수 있도록 변환하라.(단, 한 달을 30일로 계산하라)
-- [결과]
-- 사원이름 근무일수
-- --------------------------------
-- SMITH 34년 07개월 05일
-- ALLEN 34년 05개월 01일
-- WARD 34년 04개월 30일
-- JONES 34년 03개월 21일
-- MARTIN 33년 09개월 24일
-- BLAKE 34년 03개월 22일
-- CLARK 34년 01개월 20일
-- SCOTT 32년 09개월 13일
-- KING 33년 08개월 04일
-- TURNER 33년 10개월 13일
-- ADAMS 32년 06개월 10일
-- JAMES 33년 09개월 19일
-- FORD 33년 09개월 19일
-- MILLER 33년 05개월 29일