ITGenerations
오라클로 배우는 데이터베이스 개론과 실습 연습문제 4장 본문
자꾸 저장하는데, 에러나서 일단 보류...
위 파일은, 아래에 있는 연습문제 소스코드이므로 가져다 쓰시면 됩니다.
컴파일 하는법은 필요한 부분마다 컴파일하는법 드래그해서 ctrl + enter 누르시면됩니다.
그래도 안되면, 필요한 부분을 드래그해서 ▶ㅁ(종이) 버튼을 클릭하시면 됩니다.
-- 편집중--
1. 다음 내장 함수의 결과를 적으시오.
ABS(-15)
CEIL(15.7)
COS(3.14159)
FLOOR(15.7)
LOG(10,100)
MOD(11,4)
POWER(3,2)
ROUND(15.7)
SIGN(-15)
TRUNG(15.7)
CHR(67)
CONCAT('HAPPY', 'Birthday')
LOWER('Birthday')
LPAD('Page 1', 15, '*.')
LTRIM('Page 1', 'ae')
REPLACE('JACK', 'J','BL')
READ('Page 1', 15, '*.')
RTRIM('Page 1', 'ae')
SUBSTR('ABCDEFG', 3,4)
TRIM(LEADING 0 FROM '00AA00')
UPPER('Birthday')
ASCII('A')
INSTR('CORPORATE FLOOR', 'OR', 3, 2)
LENGTH('Birthday')
ADD_MONTHS('14/05/21',1)
LAST_DAY(SYSDATE)
NEXT_DAY(SYSDATE, '화')
ROUND(SYSDATE)
SYSDATE
TO_CHAR(SYSDATE)
TO_CHAR(123)
TO_DATE('12 05 2014', DD MM YYYY')
TO_NUMBER('12.3')
DECODE(1,1,'aa','bb')
NULLIF(123,345)
NVL(NULL,123)
-- 편집중--
-- 편집중--
2. Mybook 테이블을 생성하고 null에 관한 다음 SQL문에 답하시오. 또한 질의의 결과를 보면서 null에 대한 개념도 정리해보시오.
Mybook
bookid | price |
1 | 10000 |
2 | 20000 |
3 | NULL |
-- 편집중--
(1)
(2) SELECT bookid, NVL(price, 0)
FROM Mybook;
------> 각 행의 bookid와 price를 보여준다. 만약 price가 null 이면 0으로 대체하여 표시한다.
(3)
(4)
(5)
(6)
(7)
(8)
-- 편집중--
-- 편집중--
3. ROWNUM에 관한 다음 SQ문에 답하시오. 데이터는 마당서점 데이터 베이스를 이용한다.
(1)
(2)
(3)
(4)
(5)
(6)
-- 편집중--
4. 부속질의에 관한 다음 SQL문을 수행해보고 어떤 질의에 대한 답인지 설명하시오.
(1)
SELECT custid, (SELECT address
FROM Customer cs
WHERE cs.custid=od.custid) "address",
SUM(saleprice) "total"
FROM Orders od
GROUP BY od.custid;
----> 고객번호와 그 고객의 주소를 보인다. Orders 테이블에는 고객의 주소에 관한 속성이 없으니 스칼라 부속질의를 통해서 이를 Customer 테이블에서 가져왔다.
(2)
SELECT cs.name, s
FROM (SELECT custid, AVG(saleprice) s
FROM Orders
GROUP BY custid) od, Customer cs
WHERE cs.custid = od.custid;
----> 인라인 뷰를 써서 Orders 테이블에서 고객번호와 고객의 구입평균을 가져온 후 이를 Customer테이블과 조인해 고객의 이름과 고객의 구입평균을 검색했다.
(3)
SELECT SUM(saleprice) "total"
FROM Orders od
WHERE EXISTS (SELECT *
FROM Customer cs
WHERE custid <= 3 AND cs.custid=od.custid);
----> 고객번호가 3이하인 고객의 구입총액을 검색했다. 부속질의가 WHERE문에 있는 중첩질의를 사용했다.
5.뷰의 장점과 단점을 설명하시오.
장점: 사용자가 필요한 정보만 요구에 맞게 가공하여 만들 수 있다. 그리고 이를 반복하여 재사용 할 수 있다.
단점: SELECT 문 이외의 테이블의 물리적 변경이 필요한 질의를 수행하는 데는 제약이 따른다.
6. 다음에 해당하는 뷰를 작성하시오. 데이터는 마당서점 데이터베이스를 이용한다.
(1) 판매가격이 20,000원 이상인 도서의 도서번호, 도서이름, 고객이름, 출판사, 판매가격을 보여주는 highorders 뷰를 생성하시오.
(2) 생성한 뷰를 이용하여 판매된 도서의 이름과 고객의 이름을 출력하는 SQL문을 작성하시오.
(3) highorders 뷰를 변경하고자 한다. 판매가격 속성을 삭제하는 명령을 수행하시오. 삭제 후 2)번 SQL문을 다시 수행하시오.
(2)번과 결과는 변함 없음!
7. [사원 데이터베이스] 3장의 연습문제 9번 데이터베이스를 이용하여 다음 질의에 해당되는 SQL문을 작성하시오.
(1) 팀장(mgr)이 없는 직원의 이름을 보이시오.
(2) 사원의 이름과 부서의 이름을 보이시오(조인/스칼라 부속질의 사용).
(3) 'CHICAGO'에 근무하는 사원의 이름을 보이시오(조인/인라인 뷰/중첩질의/EXISTS 사용).
(4) 평균보다 급여가 많은 직원의 이름을 보이시오.
(5) 자기 부서의 평균보다 급여가 많은 직원의 이름을 보이시오(상관 부속질의 사용).
'Univ > 디비' 카테고리의 다른 글
오라클로 배우는 데이터베이스 개론과 실습 심화문제 4장 (0) | 2018.05.25 |
---|---|
오라클로 배우는 데이터베이스 개론과 실습 연습문제 5장 (1) | 2018.05.24 |
2018_05_11 디비 수업자료 (0) | 2018.05.11 |
중간고사 (0) | 2018.05.04 |
디비 연습문제 (0) | 2018.04.20 |