
Bài tập Oracle có lời giải
Số trang: 37
Loại file: pdf
Dung lượng: 834.77 KB
Lượt xem: 9
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu bài tập oracle có lời giải, công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Bài tập Oracle có lời giải Võ Đông Giang 2012Download đ ề bài tại:http://www.mediafire.com/?3hh975tcdvici7zDownload cơ sở dữ liệu tạ i: http://www.mediafire.com/?amchtkg9ilx1wk1Sau đó import dữ liệu vào oracle. TRUY VẤN ORACLE1. Liệt kê tên (last_name) và lương (salary) của những nhân viên cólương l ớn hơn 12000$.SELECT LAST_NAME , SALARYFROM employees;2. Liệt kê tên và lương của những nhân viên có lương th ấp hơn 5000$hoặc lớn hơn 12000$.SELECT FIRST_NAME, LAST_NAME, SALARYFROM EMPLOYEESWHERE SALARY12000;3. Cho biết thông tin tên nhân viên (last_name), mã công vi ệc (job_id), ngày thuê (hire_date) của những nhân viên được thuê t ừ ngày20/02/1998 đến ngày 1/05/1998.Thông tin được hiển thị tăng dần theo ngày thuê .SELECT last_name ,job_id ,hire_dateFROM employeesWHERE hire_date BETWEEN 20/FEB/1998 AND 1/MAY/1998ORDER BY hire_date ASC;4. Liệt kê danh sách nhân viên làm việc cho phòng 20 và 50. Thông tinhiển thị gồm:last_name, department_id , trong đó tên nhân viên được sắp xếp theothứ tự alphab e.SELECT LAST_NAME , DEPARTMENT_IDFROM EMPLOYEESWHERE DEPARTMENT_ID IN(20,50);5. Liệt kê danh sách nhân viên được thuê năm 1994.SELECT *FROM EMPLOYEESWHERE TO_CHAR (HIRE_DATE ,YY)=05; Trường cao đẳng công nghệ thông tin TP.HCM 1 Võ Đông Giang 20126. Liệt kê tên nhân viên (last_name ), mã công việc (job_id) của nhữngnhân viênkhông có người quản lý.SELECT LAST_NAME , FIRST_NAME, JOB_IDFROM EMPLOYEESWHERE MANAGER_ID IS NULL;7. Cho biết thông tin t ất cả nhân viên đư ợc hưởng hoa h ồng(commission_pct),kết quả được sắp xếp giảm dần theo lương và hoa hồng.SELECT FIRST_NAME, LAST_NAME, COMMISSION_PCTFROM EMPLOYEESWHERE COMMISSION_PCT IS NOT NULL;8.Liệt kê danh sách nhân viên mà có kí tự thứ 3 trong tên là “a”.SELECT *FROM EMPLOYEESWHERE FIRST_NAME LIKE (__a%);9. Liệt kê danh sách nhân viên mà t rong tên có chứa một chữ “a” và mộtchữ “e”.SELECT employee_id, first_name, last_nameFROM employeesWHERE first_name LIKE (%a%e%);10. Cho bi ết tên (last_name), mã công việc (job_id ), lương (salary)của nhữngnhân viên làm “Sales representative ” hoặc “Stock clert” và có m ứclương khác2500$, 3500$, 7000$.--CACH 1SELECT A.last_name, A.job_id, A.salaryFROM EMPLOYEES A INNER JOIN JOBS bON A.job_id =b.job_idWHERE job_title IN (Sales Representative ,Stock Clerk)AND salary NOT IN (2500,3500,7000);--cach 2SELECT A.last_name, A.JOB_ID, A.SALARYFROM EMPLOYEES A , JOBS BWHERE B.JOB_TITLE IN (Sales Representative ,Stick cleark )AND A.SALARY NOT IN(2500,3500,7000);--CACH 3SELECT A.LAST_NAME, A.JOB_ID, A.SALARYFROM EMPLOYEES A Trường cao đẳng công nghệ thông tin TP.HCM 2 Võ Đông Giang 2012WHERE A.JOB_ID IN (SELECT B.JOB_ID FROM JOBS B WHERE JOB_TITLE IN(Sales Representative,Stickcleark ))AND A.SALARY NOT IN(2500, 3500, 7000);--CACH 3.1SELECT A.LAST_NAME, A.JOB_ID, A.SALARYFROM EMPLOYEES AWHERE A.SALARY NOT IN(2500, 3500, 7000)AND A.JOB_ID IN (SELECT B.JOB_ID FROM JOBS B WHERE JOB_TITLE IN(Sales Representative,Stickcleark ));--CACH 3.2SELECT A.LAST_NAME, A.JOB_ID, A.SALARYFROM EMPLOYEES AWHERE A.JOB_ID IN (SELECT B.JOB_ID FROM JOBS B WHERE JOB_TITLE IN(Sales Representative,Stickcleark ) AND A.SALARY NOT IN(2500, 3500, 7000));11. Cho bi ết mã nhân viên (employee_id ), tên nhân viên (last_name ),lương sau khi tăng thêm 15 % so với lương ban đầu, được làm tròn đ ếnhàng đơn v ị và đặt lại tên cột là “New Salary”.SELECT EMPLOYEE_ID, LAST_NAME , ROUND(SALARY+((SALARY*15)/100),1) ASNEW SALARYFROM EMPLOYEES;12. Cho bi ết tên nhân viên , chiều dài tương ứng của tên đối với nhữngnhânviên có kí tự bắt đầu trong tên là “J”, “ A”, “L”,”M”. Kết quả hiển thịtăng dần theo tên, kí tự đầu của tên viết hoa, các kí t ự còn l ại viếtthường.(dùng hàm INITCAP, LENGTH , SUBSTR)SELECT INITCAP(FIRST_NAME), LENGTH(FIRST_NAME)FROM EMPLOYEESWHERE SUBSTR(FIRST_NAME ,1,1)IN(J,A,A,M)ORDER BY FIRST_NAME;13. Liệt kê danh sách nhân viên, khoảng thời gian (tính theo tháng) mànhân Trường cao đẳng công nghệ thông tin TP.HCM 3 Võ Đông Giang 2012viên đã làm việc trong công ty cho đến nay. Kết quả sắp xếp tăng dầntheo sốlượng tháng làm việc. (dùng hàm MONTHS_BETWEEN)SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME ,MONTHS_BETWEEN(SYSDATE,HIRE_DATE ) AS KHOANG_TGFROM EMPLOYEES;13.1 TUONG TU CAU 13 NHUNG LAM TRON HANG CHUCSELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME ,ROUND(MONTHS_BETWEEN (SYSDATE,HIRE_DATE ),2) AS KHOANG_TGFROM EMPLOYEES;14. Thực hiện câu truy vấn cho k ết quả theo định dạng sau : earns monthly but wants .Cột được hiển thị có tên “Dream Salaries”SELECT concat (concat (concat(concat(last_name , earns ),salary ),monthly but wants),(salary*3)) as Dream_SalariesFROM EMPLOYEES;15. Liệt kê tên nhân viên, mức hoa hồng nhân viên đó nh ận được.Trường hợp nhân viên nào không được hưởng hoa h ồng thì hiển thịNo commission‟. (dùng hàm NVL)SELECT FIRST_NAME, NVL(TO_CHAR(COMMISSION_PCT,.9),NO COMMISSION)FROM EMPLOYEES;16. Thực hiện câu truy vấn cho k ết quả như sau: (dùng hàm DECODE hoặcCASE…)JOB_ID GRADEAD_PRES AST_MAN BIT_PROG CSA_REP DST_CLERK EKhông thuộc 0select distinct job_id, case job_id when AD_PRES then A when ST_MAN then B when IT_PROG then C when SA_REP then D ...
Nội dung trích xuất từ tài liệu:
Bài tập Oracle có lời giải Võ Đông Giang 2012Download đ ề bài tại:http://www.mediafire.com/?3hh975tcdvici7zDownload cơ sở dữ liệu tạ i: http://www.mediafire.com/?amchtkg9ilx1wk1Sau đó import dữ liệu vào oracle. TRUY VẤN ORACLE1. Liệt kê tên (last_name) và lương (salary) của những nhân viên cólương l ớn hơn 12000$.SELECT LAST_NAME , SALARYFROM employees;2. Liệt kê tên và lương của những nhân viên có lương th ấp hơn 5000$hoặc lớn hơn 12000$.SELECT FIRST_NAME, LAST_NAME, SALARYFROM EMPLOYEESWHERE SALARY12000;3. Cho biết thông tin tên nhân viên (last_name), mã công vi ệc (job_id), ngày thuê (hire_date) của những nhân viên được thuê t ừ ngày20/02/1998 đến ngày 1/05/1998.Thông tin được hiển thị tăng dần theo ngày thuê .SELECT last_name ,job_id ,hire_dateFROM employeesWHERE hire_date BETWEEN 20/FEB/1998 AND 1/MAY/1998ORDER BY hire_date ASC;4. Liệt kê danh sách nhân viên làm việc cho phòng 20 và 50. Thông tinhiển thị gồm:last_name, department_id , trong đó tên nhân viên được sắp xếp theothứ tự alphab e.SELECT LAST_NAME , DEPARTMENT_IDFROM EMPLOYEESWHERE DEPARTMENT_ID IN(20,50);5. Liệt kê danh sách nhân viên được thuê năm 1994.SELECT *FROM EMPLOYEESWHERE TO_CHAR (HIRE_DATE ,YY)=05; Trường cao đẳng công nghệ thông tin TP.HCM 1 Võ Đông Giang 20126. Liệt kê tên nhân viên (last_name ), mã công việc (job_id) của nhữngnhân viênkhông có người quản lý.SELECT LAST_NAME , FIRST_NAME, JOB_IDFROM EMPLOYEESWHERE MANAGER_ID IS NULL;7. Cho biết thông tin t ất cả nhân viên đư ợc hưởng hoa h ồng(commission_pct),kết quả được sắp xếp giảm dần theo lương và hoa hồng.SELECT FIRST_NAME, LAST_NAME, COMMISSION_PCTFROM EMPLOYEESWHERE COMMISSION_PCT IS NOT NULL;8.Liệt kê danh sách nhân viên mà có kí tự thứ 3 trong tên là “a”.SELECT *FROM EMPLOYEESWHERE FIRST_NAME LIKE (__a%);9. Liệt kê danh sách nhân viên mà t rong tên có chứa một chữ “a” và mộtchữ “e”.SELECT employee_id, first_name, last_nameFROM employeesWHERE first_name LIKE (%a%e%);10. Cho bi ết tên (last_name), mã công việc (job_id ), lương (salary)của nhữngnhân viên làm “Sales representative ” hoặc “Stock clert” và có m ứclương khác2500$, 3500$, 7000$.--CACH 1SELECT A.last_name, A.job_id, A.salaryFROM EMPLOYEES A INNER JOIN JOBS bON A.job_id =b.job_idWHERE job_title IN (Sales Representative ,Stock Clerk)AND salary NOT IN (2500,3500,7000);--cach 2SELECT A.last_name, A.JOB_ID, A.SALARYFROM EMPLOYEES A , JOBS BWHERE B.JOB_TITLE IN (Sales Representative ,Stick cleark )AND A.SALARY NOT IN(2500,3500,7000);--CACH 3SELECT A.LAST_NAME, A.JOB_ID, A.SALARYFROM EMPLOYEES A Trường cao đẳng công nghệ thông tin TP.HCM 2 Võ Đông Giang 2012WHERE A.JOB_ID IN (SELECT B.JOB_ID FROM JOBS B WHERE JOB_TITLE IN(Sales Representative,Stickcleark ))AND A.SALARY NOT IN(2500, 3500, 7000);--CACH 3.1SELECT A.LAST_NAME, A.JOB_ID, A.SALARYFROM EMPLOYEES AWHERE A.SALARY NOT IN(2500, 3500, 7000)AND A.JOB_ID IN (SELECT B.JOB_ID FROM JOBS B WHERE JOB_TITLE IN(Sales Representative,Stickcleark ));--CACH 3.2SELECT A.LAST_NAME, A.JOB_ID, A.SALARYFROM EMPLOYEES AWHERE A.JOB_ID IN (SELECT B.JOB_ID FROM JOBS B WHERE JOB_TITLE IN(Sales Representative,Stickcleark ) AND A.SALARY NOT IN(2500, 3500, 7000));11. Cho bi ết mã nhân viên (employee_id ), tên nhân viên (last_name ),lương sau khi tăng thêm 15 % so với lương ban đầu, được làm tròn đ ếnhàng đơn v ị và đặt lại tên cột là “New Salary”.SELECT EMPLOYEE_ID, LAST_NAME , ROUND(SALARY+((SALARY*15)/100),1) ASNEW SALARYFROM EMPLOYEES;12. Cho bi ết tên nhân viên , chiều dài tương ứng của tên đối với nhữngnhânviên có kí tự bắt đầu trong tên là “J”, “ A”, “L”,”M”. Kết quả hiển thịtăng dần theo tên, kí tự đầu của tên viết hoa, các kí t ự còn l ại viếtthường.(dùng hàm INITCAP, LENGTH , SUBSTR)SELECT INITCAP(FIRST_NAME), LENGTH(FIRST_NAME)FROM EMPLOYEESWHERE SUBSTR(FIRST_NAME ,1,1)IN(J,A,A,M)ORDER BY FIRST_NAME;13. Liệt kê danh sách nhân viên, khoảng thời gian (tính theo tháng) mànhân Trường cao đẳng công nghệ thông tin TP.HCM 3 Võ Đông Giang 2012viên đã làm việc trong công ty cho đến nay. Kết quả sắp xếp tăng dầntheo sốlượng tháng làm việc. (dùng hàm MONTHS_BETWEEN)SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME ,MONTHS_BETWEEN(SYSDATE,HIRE_DATE ) AS KHOANG_TGFROM EMPLOYEES;13.1 TUONG TU CAU 13 NHUNG LAM TRON HANG CHUCSELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME ,ROUND(MONTHS_BETWEEN (SYSDATE,HIRE_DATE ),2) AS KHOANG_TGFROM EMPLOYEES;14. Thực hiện câu truy vấn cho k ết quả theo định dạng sau : earns monthly but wants .Cột được hiển thị có tên “Dream Salaries”SELECT concat (concat (concat(concat(last_name , earns ),salary ),monthly but wants),(salary*3)) as Dream_SalariesFROM EMPLOYEES;15. Liệt kê tên nhân viên, mức hoa hồng nhân viên đó nh ận được.Trường hợp nhân viên nào không được hưởng hoa h ồng thì hiển thịNo commission‟. (dùng hàm NVL)SELECT FIRST_NAME, NVL(TO_CHAR(COMMISSION_PCT,.9),NO COMMISSION)FROM EMPLOYEES;16. Thực hiện câu truy vấn cho k ết quả như sau: (dùng hàm DECODE hoặcCASE…)JOB_ID GRADEAD_PRES AST_MAN BIT_PROG CSA_REP DST_CLERK EKhông thuộc 0select distinct job_id, case job_id when AD_PRES then A when ST_MAN then B when IT_PROG then C when SA_REP then D ...
Tìm kiếm theo từ khóa liên quan:
lập trình dữ liệu hệ thống dữ liệu dữ liệu máy tính quản trị dữ liệu Bài tập oracle bài tập dữ liệuTài liệu có liên quan:
-
Đáp án đề thi học kỳ 2 môn cơ sở dữ liệu
3 trang 338 1 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG XÂY DỰNG HỆ THỐNG ĐẶT VÉ TÀU ONLINE
43 trang 303 2 0 -
6 trang 210 0 0
-
Hướng dẫn tạo file ghost và bung ghost
12 trang 161 0 0 -
48 trang 117 0 0
-
Hướng dẫn sử dụng Mapinfo Professional-Phần cơ bản
57 trang 100 0 0 -
150 trang 79 0 0
-
Cách sao lưu và phục hồi dữ liệu bằng Norton Ghost
8 trang 67 0 0 -
7 trang 61 0 0
-
Bài 4 Truy vấn nâng cao (Thực hành)
10 trang 55 0 0 -
57 trang 52 0 0
-
Giáo trình Các hệ thống thông minh: Phần 2
86 trang 46 0 0 -
Câu hỏi trắc nghiệm Tin học đại cương
13 trang 45 0 0 -
Cấu trúc dữ liệu động máy tính
210 trang 42 0 0 -
Bài giảng Tin học văn phòng: Bài 12 - Vũ Thương Huyền
25 trang 41 0 0 -
Đề và bài giải hết học phần các hệ cơ sở dữ liệu
12 trang 40 0 0 -
GIÁO TRÌNH SQL - Trần Nguyên Phong
146 trang 39 0 0 -
132 trang 39 0 0
-
52 trang 37 0 0
-
177 trang 37 0 0