Danh mục

Bài giảng Cơ sở dữ liệu: SQL nâng cao - ThS. Trịnh Hoàng Nam

Số trang: 9      Loại file: pdf      Dung lượng: 444.36 KB      Lượt xem: 2      Lượt tải: 0    
Hoai.2512

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (9 trang) 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 những nội dung chính sau: Giá trị null, toán tử AS, truy vấn lồng, bảng kết trong SQL, bảng kết, các hàm thống kê trong SQL, mệnh đề gom nhóm. 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 Nam9/5/2016CƠ 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/5/2016Cơ 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/5/2016Cơ 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 tySELECT ENameFROM 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 tySELECT ENameFROM EMPLOYEEWHERE ESSN NOT IN (SELECT ESSNFROM WOKRSON)Ths. Trịnh Hoàng Nam, namth@buh.edu.vn39/5/2016Cơ 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:SELECT EName, ESalaryFROM EMPLOYEE, DEPARTMENTWHERE DNum = DNumber AND DName=N’Phòng Nghiên cứu’• Sử dụng bảng kết:SELECT EName, 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ụSELECT EName, ESalaryFROM EMPLOYEE, DEPARTMENTWHERE DNum = DNumberAND DName=N’Phòng Nghiên cứu’SELECT EName, ESalaryFROM EMPLOYEE JOIN DEPARTMENTON DNum = DNumberWHERE DName=N’Phòng Nghiên cứu’Ths. Trịnh Hoàng Nam, namth@buh.edu.vn49/5/2016Cơ 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:SELECT e.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 sON e.supervisorSSN = s.ESSNThs. 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ụSELECT e.EName as ‘Employee’,s.EName as ‘Supervisor’FROM EMPLOYEE e, EMPLOYEE sWHERE e.supervisorSSN = s.ESSNSELECT e.EName as ‘Employee’,s.EName as ‘Supervisor’FROM EMPLOYEE e JOIN EMPLOYEE sON e.supervisorSSN = s.ESSNThs. 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ụ• 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ọ• Tuy nhiên, trong bảng EMPLOYEE có tất cả 21 bộ với15 bộ có giá trị khác NULL tại thuộc tính supervisorứng với 15 bộ trả về bởi câu truy vấnSELECT e.EName as ‘Employee’,s.EName as ‘Supervisor’FROM EMPLOYEE e JOIN EMPLOYEE sON e.supervisorSSN = s.ESSN• Làm thế nào để hiển thị hết đầy đủ 21 bộ của quan hệEMPLOYEE theo yêu cầu đề bài?Ths. Trịnh Hoàng Nam, namth@buh.edu.vn5 ...

Tài liệu được xem nhiều: