Bài giảng Cơ sở dữ liệu: SQL nâng cao - ThS. Trịnh Hoàng Nam (2018)
Số trang: 9
Loại file: pdf
Dung lượng: 465.27 KB
Lượt xem: 9
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Cơ sở dữ liệu: SQL nâng cao trình bày các định nghĩa, các đặc trưng của SQL, toán tử AS, truy vấn lồng, bảng kết trong SQL, các hàm thống kê trong SQL, mệnh đề gom nhóm, câu truy vấn SQL nâng cao,... Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở dữ liệu: SQL nâng cao - ThS. Trịnh Hoàng Nam (2018)9/3/2018CƠ SỞ DỮ LIỆUSQL NÂNG CAOCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuGIÁ TRỊ NULLĐịnh nghĩa• Null là giá trị đặc biệt, không phải là hằng số, mà là giá trị khôngbiếtĐặc trưng• Các phép toán số học liên quan tới Null cho giá trị là Null• Các phép toán so sánh liên quan tới Null cho giá trị là Unknown• Phép toán so sánh IS NULL và IS NOT NULLVí dụ• Liệt kê danh sách nhân viên không có lãnh đạo trực tiếpSELECT *FROMEMPLOYEEWHERE supervisorSSN IS NULLThs. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTOÁN TỬ ASToán tử AS trong SQL• Được sử dụng để đổi tên cột hiển thị trong phần kếtquả của câu truy vấn mà không ảnh hưởng đến bảnthân các quan hệ trong mệnh đề WHERE của câutruy vấn đóVí dụ• Liệt kê danh sách nhân viên và tên lãnh đạo trực tiếpSELECT E.EName AS ‘Tên nhân viên’,S.EName AS ‘Tên lãnh đạo trực tiếp’FROM EMPLOYEE E, EMPLOYEE SWHERE E.supervisorSSN=S.ESSNThs. Trịnh Hoàng Nam, namth@buh.edu.vn19/3/2018Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTRUY VẤN LỒNGĐịnh nghĩa• Câu lệnh truy vấn chứa câu lệnh truy vấn khác bêntrong các thành phần của nóĐặc trưng• Kết quả trả về của câu truy vấn này được sử dụngtrong một mệnh đề của câu truy vấn khác• Kết quả trả về của một câu truy vấn có thể là một giátrị đơn hoặc một quan hệ với nhiều bộ, nhiều thuộctính• Một số toán tử so sánh: IN, NOT IN, ANY, SOME, ALLThs. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTRUY VẤN LỒNGVí dụ• Cho biết danh sách các dự án có sự tham gia củanhân viên tên là ‘Lê Duy Anh’SELECTp.*FROMPROJECT p, EMPLOYEE e, WORKSON wWHEREp.ProNum = w.PNum AND w.ESSN = e.ESSNAND e.EName = N’Lê Duy Anh’?Độ phức tạp của truy vấnThs. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTRUY VẤN LỒNGVí dụ• Cho biết danh sách các dự án có sự tham gia củanhân viên tên là ‘Lê Duy Anh’SELECT *FROM PROJECTWHERE PNumber IN (SELECT w.PNumFROMWORKSON w, EMPLOYEE eWHERE w.ESSN=e. ESSNAND e.EName = N’Lê Duy Anh’)?Độ phức tạp của truy vấnThs. Trịnh Hoàng Nam, namth@buh.edu.vn29/3/2018Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTRUY VẤN LỒNGVí dụ• Cho biết danh sách các dự án có sự tham gia củanhân viên tên là ‘Lê Duy Anh’SELECT *FROM PROJECTWHERE PNumber IN (SELECT w.PNumFROMWORKSON wWHERE w.ESSN IN (SELECT e.ESSNFROMEMPLOYEE eWHERE e.EName = N’…’))?Độ phức tạp của truy vấnThs. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTRUY VẤN LỒNGHàm EXISTS trong SQL• Được sử dụng để kiểm tra kết quả của câu truy vấn lồngxem có rỗng hay khôngVí dụ• Cho biết tên các nhân viên chưa tham gia bất kỳ dự án nàocủa công tySELECTENameFROM EMPLOYEE EWHERE NOT EXISTS (SELECT *FROM WOKRSONWHERE E.ESSN=ESSN)Ths. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTRUY VẤN LỒNGHàm EXISTS trong SQL• Được sử dụng để kiểm tra kết quả của câu truy vấn lồng xemcó rỗng hay không• Có thể được viết lại bằng cách sử dụng toán tử so sánh INVí dụ• Cho biết tên các nhân viên chưa tham gia bất kỳ dự án nàocủa công tySELECTENameFROM EMPLOYEEWHERE ESSN NOT IN (SELECT ESSNFROM WOKRSON)Ths. Trịnh Hoàng Nam, namth@buh.edu.vn39/3/2018Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuBẢNG KẾT TRONG SQLGiới thiệu• Phép kết thể hiện thông qua việc sử dụngnhiều quan hệ trong mệnh đề FROM và cácđiều kiện kết tương ứng trong mệnh đềWHERE• Phép kết được thực hiện ngay trong mệnhđề FROM thông qua việc sử dụng các toántử INNER JOIN, OUTER JOIN đi kèm điềukiện kết tương ứngThs. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuBẢNG KẾTVí dụ• Hiển thị tên và mức lương của các nhân viên trongphòng ‘Nghiên cứu’• Sử dụng phép nhân chéo và phép chọn:SELECTEName, ESalaryFROM EMPLOYEE, DEPARTMENTWHERE DNum = DNumber AND DName=N’Phòng Nghiên cứu’• Sử dụng bảng kết:SELECTEName, ESalaryFROM EMPLOYEE JOIN DEPARTMENT ON DNum = DNumberWHERE DName=N’Phòng Nghiên cứu’Ths. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuBẢNG KẾTVí dụSELECTEName, ESalaryFROM EMPLOYEE, DEPARTMENTWHERE DNum = DNumberAND DName=N’Phòng Nghiên cứu’SELECTEName, ESalaryFROM EMPLOYEE JOIN DEPARTMENTON DNum = DNumberWHERE DName=N’Phòng Nghiên cứu’Ths. Trịnh Hoàng Nam, namth@buh.edu.vn49/3/2018Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuBẢNG KẾTVí dụ• Với mỗi nhân viên hãy hiển thị tên của người đó vàtên của lãnh đạo trực tiếp của họ• Sử dụng phép nhân chéo và phép chọn:SELECTe.EName as ‘Employee’, s.EName as ‘Supervisor’FROM EMPLOYEE e, EMPLOYEE sWHERE e.supervisorSSN = s.ESSN• Sử dụng bảng kết:SELECT e.EName as ‘Employee’, s.EName as ‘Supervisor’FROM EMPLOYEE e JOIN EMPLOYEE s ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở dữ liệu: SQL nâng cao - ThS. Trịnh Hoàng Nam (2018)9/3/2018CƠ SỞ DỮ LIỆUSQL NÂNG CAOCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuGIÁ TRỊ NULLĐịnh nghĩa• Null là giá trị đặc biệt, không phải là hằng số, mà là giá trị khôngbiếtĐặc trưng• Các phép toán số học liên quan tới Null cho giá trị là Null• Các phép toán so sánh liên quan tới Null cho giá trị là Unknown• Phép toán so sánh IS NULL và IS NOT NULLVí dụ• Liệt kê danh sách nhân viên không có lãnh đạo trực tiếpSELECT *FROMEMPLOYEEWHERE supervisorSSN IS NULLThs. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTOÁN TỬ ASToán tử AS trong SQL• Được sử dụng để đổi tên cột hiển thị trong phần kếtquả của câu truy vấn mà không ảnh hưởng đến bảnthân các quan hệ trong mệnh đề WHERE của câutruy vấn đóVí dụ• Liệt kê danh sách nhân viên và tên lãnh đạo trực tiếpSELECT E.EName AS ‘Tên nhân viên’,S.EName AS ‘Tên lãnh đạo trực tiếp’FROM EMPLOYEE E, EMPLOYEE SWHERE E.supervisorSSN=S.ESSNThs. Trịnh Hoàng Nam, namth@buh.edu.vn19/3/2018Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTRUY VẤN LỒNGĐịnh nghĩa• Câu lệnh truy vấn chứa câu lệnh truy vấn khác bêntrong các thành phần của nóĐặc trưng• Kết quả trả về của câu truy vấn này được sử dụngtrong một mệnh đề của câu truy vấn khác• Kết quả trả về của một câu truy vấn có thể là một giátrị đơn hoặc một quan hệ với nhiều bộ, nhiều thuộctính• Một số toán tử so sánh: IN, NOT IN, ANY, SOME, ALLThs. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTRUY VẤN LỒNGVí dụ• Cho biết danh sách các dự án có sự tham gia củanhân viên tên là ‘Lê Duy Anh’SELECTp.*FROMPROJECT p, EMPLOYEE e, WORKSON wWHEREp.ProNum = w.PNum AND w.ESSN = e.ESSNAND e.EName = N’Lê Duy Anh’?Độ phức tạp của truy vấnThs. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTRUY VẤN LỒNGVí dụ• Cho biết danh sách các dự án có sự tham gia củanhân viên tên là ‘Lê Duy Anh’SELECT *FROM PROJECTWHERE PNumber IN (SELECT w.PNumFROMWORKSON w, EMPLOYEE eWHERE w.ESSN=e. ESSNAND e.EName = N’Lê Duy Anh’)?Độ phức tạp của truy vấnThs. Trịnh Hoàng Nam, namth@buh.edu.vn29/3/2018Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTRUY VẤN LỒNGVí dụ• Cho biết danh sách các dự án có sự tham gia củanhân viên tên là ‘Lê Duy Anh’SELECT *FROM PROJECTWHERE PNumber IN (SELECT w.PNumFROMWORKSON wWHERE w.ESSN IN (SELECT e.ESSNFROMEMPLOYEE eWHERE e.EName = N’…’))?Độ phức tạp của truy vấnThs. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTRUY VẤN LỒNGHàm EXISTS trong SQL• Được sử dụng để kiểm tra kết quả của câu truy vấn lồngxem có rỗng hay khôngVí dụ• Cho biết tên các nhân viên chưa tham gia bất kỳ dự án nàocủa công tySELECTENameFROM EMPLOYEE EWHERE NOT EXISTS (SELECT *FROM WOKRSONWHERE E.ESSN=ESSN)Ths. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuTRUY VẤN LỒNGHàm EXISTS trong SQL• Được sử dụng để kiểm tra kết quả của câu truy vấn lồng xemcó rỗng hay không• Có thể được viết lại bằng cách sử dụng toán tử so sánh INVí dụ• Cho biết tên các nhân viên chưa tham gia bất kỳ dự án nàocủa công tySELECTENameFROM EMPLOYEEWHERE ESSN NOT IN (SELECT ESSNFROM WOKRSON)Ths. Trịnh Hoàng Nam, namth@buh.edu.vn39/3/2018Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuBẢNG KẾT TRONG SQLGiới thiệu• Phép kết thể hiện thông qua việc sử dụngnhiều quan hệ trong mệnh đề FROM và cácđiều kiện kết tương ứng trong mệnh đềWHERE• Phép kết được thực hiện ngay trong mệnhđề FROM thông qua việc sử dụng các toántử INNER JOIN, OUTER JOIN đi kèm điềukiện kết tương ứngThs. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuBẢNG KẾTVí dụ• Hiển thị tên và mức lương của các nhân viên trongphòng ‘Nghiên cứu’• Sử dụng phép nhân chéo và phép chọn:SELECTEName, ESalaryFROM EMPLOYEE, DEPARTMENTWHERE DNum = DNumber AND DName=N’Phòng Nghiên cứu’• Sử dụng bảng kết:SELECTEName, ESalaryFROM EMPLOYEE JOIN DEPARTMENT ON DNum = DNumberWHERE DName=N’Phòng Nghiên cứu’Ths. Trịnh Hoàng Nam, namth@buh.edu.vnCơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuBẢNG KẾTVí dụSELECTEName, ESalaryFROM EMPLOYEE, DEPARTMENTWHERE DNum = DNumberAND DName=N’Phòng Nghiên cứu’SELECTEName, ESalaryFROM EMPLOYEE JOIN DEPARTMENTON DNum = DNumberWHERE DName=N’Phòng Nghiên cứu’Ths. Trịnh Hoàng Nam, namth@buh.edu.vn49/3/2018Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệuBẢNG KẾTVí dụ• Với mỗi nhân viên hãy hiển thị tên của người đó vàtên của lãnh đạo trực tiếp của họ• Sử dụng phép nhân chéo và phép chọn:SELECTe.EName as ‘Employee’, s.EName as ‘Supervisor’FROM EMPLOYEE e, EMPLOYEE sWHERE e.supervisorSSN = s.ESSN• Sử dụng bảng kết:SELECT e.EName as ‘Employee’, s.EName as ‘Supervisor’FROM EMPLOYEE e JOIN EMPLOYEE s ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Cơ sở dữ liệu Cơ sở dữ liệu Hệ cơ sở dữ liệu SQL nâng cao Toán tử AS Hàm thống kê trong SQL Mệnh đề gom nhómTài liệu liên quan:
-
62 trang 403 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 378 6 0 -
13 trang 297 0 0
-
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 294 0 0 -
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 291 0 0 -
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 259 1 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 248 0 0 -
Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu
62 trang 189 0 0 -
8 trang 186 0 0
-
Giáo trình Cơ sở dữ liệu: Phần 2 - Đại học Kinh tế TP. HCM
115 trang 177 0 0