Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 제네릭
- exception
- 메소드오버로딩
- 예외처리
- 환경설정
- 정수형타입
- 예외미루기
- cursor문
- 객체 비교
- 자동차수리시스템
- 참조형변수
- 대덕인재개발원
- 인터페이스
- 추상메서드
- Java
- 자바
- 컬렉션프레임워크
- 어윈 사용법
- oracle
- abstract
- 다형성
- 생성자오버로드
- 한국건설관리시스템
- 집합_SET
- EnhancedFor
- 컬렉션 타입
- NestedFor
- 오라클
- GRANT VIEW
- 사용자예외클래스생성
Archives
- Today
- Total
거니의 velog
230714 SQL 강의 본문
-- <과제> 각 테이블에 데이터 10개 이상 입력하기
INSERT ALL
INTO EMPLOYEE (EMP_NO, EMP_NAME, EMP_ADDRESS, EMP_TELNO, EMP_SALARY)
VALUES ('A001', '강서주', '세종시 다정남로 22', '010-8317-9503', 3000000)
INTO EMPLOYEE (EMP_NO, EMP_NAME, EMP_ADDRESS, EMP_TELNO, EMP_SALARY)
VALUES ('A002', '임석일', '대전시 중구 계룡로 110', '010-4564-1546', 2700000)
INTO EMPLOYEE (EMP_NO, EMP_NAME, EMP_ADDRESS, EMP_TELNO, EMP_SALARY)
VALUES ('A003', '곽재우', '세종시 집현중앙로 17', '010-1115-9546', 3000000)
INTO EMPLOYEE (EMP_NO, EMP_NAME, EMP_ADDRESS, EMP_TELNO, EMP_SALARY)
VALUES ('A004', '이미지', '대전시 서구 관저북로 20', '010-6875-4563', 3300000)
INTO EMPLOYEE (EMP_NO, EMP_NAME, EMP_ADDRESS, EMP_TELNO, EMP_SALARY)
VALUES ('A005', '김수지', '대전시 동구 동서대로 1638번길', '010-4555-4785', 3100000)
INTO EMPLOYEE (EMP_NO, EMP_NAME, EMP_ADDRESS, EMP_TELNO, EMP_SALARY)
VALUES ('A006', '윤하늘', '대전시 가양남로 33번길', '010-6464-9243', 3000000)
INTO EMPLOYEE (EMP_NO, EMP_NAME, EMP_ADDRESS, EMP_TELNO, EMP_SALARY)
VALUES ('A007', '조수인', '대전시 동대전로 171', '010-2347-5526', 3100000)
INTO EMPLOYEE (EMP_NO, EMP_NAME, EMP_ADDRESS, EMP_TELNO, EMP_SALARY)
VALUES ('A008', '임민우', '대전시 우암로 139', '010-7767-9566', 2700000)
INTO EMPLOYEE (EMP_NO, EMP_NAME, EMP_ADDRESS, EMP_TELNO, EMP_SALARY)
VALUES ('A009', '강서준', '대전시 대학로 62', '010-2346-6455', 3000000)
INTO EMPLOYEE (EMP_NO, EMP_NAME, EMP_ADDRESS, EMP_TELNO, EMP_SALARY)
VALUES ('A010', '이경민', '세종시 새롬중앙로 18', '010-5656-3453', 3000000)
SELECT *
FROM DUAL;
SELECT * FROM EMPLOYEE; -- 사원 테이블
DELETE FROM EMPLOYEE;
-------------------------------------------------
INSERT ALL
INTO CUSTOMER (CST_NO, CST_NAME, CST_ADDRESS, CST_TELNO)
VALUES ('C001', '김승종', '대전시 남경마을로 3', '010-4445-3443')
INTO CUSTOMER (CST_NO, CST_NAME, CST_ADDRESS, CST_TELNO)
VALUES ('C002', '최서연', '대전시 대전로 1118 ', '010-4449-1534')
INTO CUSTOMER (CST_NO, CST_NAME, CST_ADDRESS, CST_TELNO)
VALUES ('C003', '김선민', '대전시 대화 9길', '010-5659-1234')
INTO CUSTOMER (CST_NO, CST_NAME, CST_ADDRESS, CST_TELNO)
VALUES ('C004', '이혜진', '대전시 덕암북로 4 ', '010-4659-1244')
INTO CUSTOMER (CST_NO, CST_NAME, CST_ADDRESS, CST_TELNO)
VALUES ('C005', '이송무', '대전시 석봉로 44', '010-7539-1774')
INTO CUSTOMER (CST_NO, CST_NAME, CST_ADDRESS, CST_TELNO)
VALUES ('C006', '신진수', '대전시 신탄진동로 36', '010-2349-1755')
INTO CUSTOMER (CST_NO, CST_NAME, CST_ADDRESS, CST_TELNO)
VALUES ('C007', '이소연', '대전시 오정로 100', '010-7779-1674')
INTO CUSTOMER (CST_NO, CST_NAME, CST_ADDRESS, CST_TELNO)
VALUES ('C008', '서예린', '대전시 회덕로 21', '010-4459-6564')
INTO CUSTOMER (CST_NO, CST_NAME, CST_ADDRESS, CST_TELNO)
VALUES ('C009', '정은비', '대전시 가수원로 65', '010-8689-6774')
INTO CUSTOMER (CST_NO, CST_NAME, CST_ADDRESS, CST_TELNO)
VALUES ('C010', '이현학', '대전시 괴정로 8', '010-4559-1224')
SELECT *
FROM DUAL;
SELECT * FROM CUSTOMER; -- 고객 테이블
DELETE FROM CUSTOMER;
-------------------------------------------------
INSERT ALL
INTO CAR (CAR_NO, CAR_MAKER, CAR_YEAR, CAR_DRIVING, CST_NO)
VALUES ('113서9441', '쉐보레', '2016', 62051, 'C001')
INTO CAR (CAR_NO, CAR_MAKER, CAR_YEAR, CAR_DRIVING, CST_NO)
VALUES ('123두2341', '현대', '2009', 220135, 'C002')
INTO CAR (CAR_NO, CAR_MAKER, CAR_YEAR, CAR_DRIVING, CST_NO)
VALUES ('154가9651', '쌍용', '2011', 197562, 'C003')
INTO CAR (CAR_NO, CAR_MAKER, CAR_YEAR, CAR_DRIVING, CST_NO)
VALUES ('222나9651', '현대', '2016', 82051, 'C004')
INTO CAR (CAR_NO, CAR_MAKER, CAR_YEAR, CAR_DRIVING, CST_NO)
VALUES ('134누9963', '기아', '2021', 20083, 'C005')
INTO CAR (CAR_NO, CAR_MAKER, CAR_YEAR, CAR_DRIVING, CST_NO)
VALUES ('231라9124', '기아', '2010', 153251, 'C006')
INTO CAR (CAR_NO, CAR_MAKER, CAR_YEAR, CAR_DRIVING, CST_NO)
VALUES ('177로2631', '포드', '2019', 62051, 'C007')
INTO CAR (CAR_NO, CAR_MAKER, CAR_YEAR, CAR_DRIVING, CST_NO)
VALUES ('211머6574', '르노', '2017', 92235, 'C008')
INTO CAR (CAR_NO, CAR_MAKER, CAR_YEAR, CAR_DRIVING, CST_NO)
VALUES ('146구2116', '현대', '2011', 133453, 'C009')
INTO CAR (CAR_NO, CAR_MAKER, CAR_YEAR, CAR_DRIVING, CST_NO)
VALUES ('155하3541', '쉐보레', '2014', 91052, 'C010')
SELECT *
FROM DUAL;
SELECT * FROM CAR; -- 자동차 테이블
DELETE FROM CAR;
-------------------------------------------------
INSERT ALL
INTO SERVICE (EMP_NO, CAR_NO, SVC_NO, SVC_TIME, SVC_PRICE, CST_NO)
VALUES ('A001', '113서9441', 'S00001', 11, 900000, 'C001')
INTO SERVICE (EMP_NO, CAR_NO, SVC_NO, SVC_TIME, SVC_PRICE, CST_NO)
VALUES ('A002', '123두2341', 'S00002', 5, 150000, 'C002')
INTO SERVICE (EMP_NO, CAR_NO, SVC_NO, SVC_TIME, SVC_PRICE, CST_NO)
VALUES ('A002', '154가9651', 'S00003', 3, 120000, 'C007')
INTO SERVICE (EMP_NO, CAR_NO, SVC_NO, SVC_TIME, SVC_PRICE, CST_NO)
VALUES ('A003', '222나9651', 'S00004', 5, 310000, 'C004')
INTO SERVICE (EMP_NO, CAR_NO, SVC_NO, SVC_TIME, SVC_PRICE, CST_NO)
VALUES ('A006', '134누9963', 'S00005', 10, 450000, 'C007')
INTO SERVICE (EMP_NO, CAR_NO, SVC_NO, SVC_TIME, SVC_PRICE, CST_NO)
VALUES ('A006', '231라9124', 'S00006', 7, 350000, 'C006')
INTO SERVICE (EMP_NO, CAR_NO, SVC_NO, SVC_TIME, SVC_PRICE, CST_NO)
VALUES ('A002', '177로2631', 'S00007', 6, 300000, 'C007')
INTO SERVICE (EMP_NO, CAR_NO, SVC_NO, SVC_TIME, SVC_PRICE, CST_NO)
VALUES ('A007', '211머6574', 'S00008', 3, 150000, 'C008')
INTO SERVICE (EMP_NO, CAR_NO, SVC_NO, SVC_TIME, SVC_PRICE, CST_NO)
VALUES ('A008', '146구2116', 'S00009', 1, 80000, 'C009')
INTO SERVICE (EMP_NO, CAR_NO, SVC_NO, SVC_TIME, SVC_PRICE, CST_NO)
VALUES ('A010', '155하3541', 'S00010', 2, 60000, 'C010')
SELECT *
FROM DUAL;
SELECT * FROM SERVICE; -- 서비스 테이블
DELETE FROM SERVICE;
-------------------------------------------------
SELECT * FROM EMPLOYEE; -- 사원 테이블
SELECT * FROM CUSTOMER; -- 고객 테이블
SELECT * FROM CAR; -- 자동차 테이블
SELECT * FROM SERVICE; -- 서비스 테이블
-- 가) 월급이 200만원과 300만원 사이인 직원의 이름, 주소, 연락처를 출력하라.
SELECT EMP_NAME AS "직원이름",
EMP_ADDRESS AS "직원주소",
EMP_TELNO AS "직원연락처"
FROM EMPLOYEE
WHERE EMP_SALARY BETWEEN 2000000
AND 3000000;
-- 가-2) 다음 직원의 월급을 수정하시오.
-- 임민우 월급 2400000
UPDATE EMPLOYEE
SET EMP_SALARY = 2400000
WHERE EMP_NAME = '임민우';
-- 곽재우 월급 3200000
UPDATE EMPLOYEE
SET EMP_SALARY = 3200000
WHERE EMP_NAME = '곽재우';
-- 윤하늘 월급 2600000
UPDATE EMPLOYEE
SET EMP_SALARY = 2600000
WHERE EMP_NAME = '윤하늘';
-- 강서주 월급 4000000
UPDATE EMPLOYEE
SET EMP_SALARY = 4000000
WHERE EMP_NAME = '강서주';
-- 이경민 월급 2300000
UPDATE EMPLOYEE
SET EMP_SALARY = 2300000
WHERE EMP_NAME = '이경민';
SELECT * FROM EMPLOYEE;
-------------------------------------------------
-- 나) 고객 ‘C007’이 수리를 요청한 목록을 수리비를 내림차순으로 출력하라
SELECT a.CST_NO AS "고객번호",
a.CST_NAME AS "고객이름",
b.SVC_PRICE AS "수리비"
FROM CUSTOMER a, SERVICE b
WHERE 1=1
AND a.CST_NO = b.CST_NO
AND b.CST_NO = 'C007'
ORDER BY b.SVC_PRICE DESC;
-------------------------------------------------
-- 다) 카센터의 직원수와 직원의 평균급여를 출력하라
SELECT COUNT(*) AS "직원수",
AVG(EMP_SALARY) AS "평균급여"
FROM EMPLOYEE;
-------------------------------------------------
-- 라) 30만원 이상 수리한 자동차 현황을
-- 서비스번호, 자동차번호, 메이커, 수리금액, 고객번호, 고객명, 연락처 순으로 조회하시오.
SELECT a.CST_NO AS "서비스번호",
a.CAR_NO AS "자동차번호",
b.CAR_MAKER AS "메이커",
a.SVC_PRICE AS "수리금액",
c.CST_NO AS "고객번호",
c.CST_NAME AS "고객명",
c.CST_TELNO AS "연락처"
FROM SERVICE a, CAR b, CUSTOMER c
WHERE 1=1
AND a.CAR_NO = b.CAR_NO
AND a.CST_NO = c.CST_NO
AND a.SVC_PRICE >= 300000;
-------------------------------------------------
-- 마) 2023년도 수리된 자동차현황을
-- 서비스번호, 자동차번호, 수리시간, 수리금액을 수리금액이 큰 순으로 조회하시오.
SELECT SVC_NO AS "서비스번호",
CAR_NO AS "자동차번호",
SVC_TIME AS "수리시간",
SVC_PRICE AS "수리금액"
FROM SERVICE
ORDER BY SVC_PRICE DESC;
-- 바) 금액기준으로 가장 큰 금액수리를 요청한 고객의 고객번호, 금액을 조회하시오.
SELECT MAX(SVC_PRICE) FROM SERVICE;
SELECT CST_NO AS "고객번호",
SVC_PRICE AS "금액"
FROM SERVICE
WHERE SVC_PRICE = (SELECT MAX(SVC_PRICE) FROM SERVICE);
SELECT CST_NO AS "고객번호",
(SELECT MAX(SVC_PRICE) FROM SERVICE) AS "금액"
FROM SERVICE
WHERE ROWNUM = 1;
SELECT ASD AS "고객번호",
MPR AS "금액"
FROM (
SELECT CST_NO ASD,
MAX(SVC_PRICE) AS MPR
FROM SERVICE
GROUP BY CST_NO
ORDER BY MAX(SVC_PRICE) DESC
)
WHERE ROWNUM = 1;
'대덕인재개발원 > 대덕인재개발원_Oracle DB' 카테고리의 다른 글
230718 SQL 강의 (0) | 2023.07.18 |
---|---|
230717 SQL 강의 (0) | 2023.07.17 |
230713 SQL 강의 (0) | 2023.07.17 |
230712 SQL 강의 (2) | 2023.07.14 |
230711 SQL 강의 (0) | 2023.07.13 |