카테고리 없음

연습문제

장꾸꾸 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일