Bài giảng Cơ sở dữ liệu: Chương 6 - GV. Đỗ Thị Kim Thành

23 13 0
Bài giảng Cơ sở dữ liệu: Chương 6 - GV. Đỗ Thị Kim Thành

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Cơ sở dữ liệu do GV. Đỗ Thị Kim Thành biên soạn, trong chương 6 của bài giảng trình bày nội dung giới thiệu sơ lược về ngôn ngữ truy vấn SQL, cách truy vấn dữ liệu, cấu trúc câu truy vấn tổng quát,... Để biết rõ hơn về nội dung chi tiết của bài giảng, mời các bạn cùng tham khảo.

01/03/2011 TRUNG TÂM DÀO TẠO CÁC VẤN ĐỀ KINH TẾ HIỆN ĐẠI TRƯỜNG ĐẠI HỌC CHU VĂN AN DATABASE CƠ SỞ DỮ LIỆU GV: Đỗ Thị Kim Thành Email: kimthanh.do@gmail.com Web: http://dkt.hoitublog.com Chương VI NGÔN NGỮ TRUY VẤN SQL GV: ĐỖ THỊ KIM THÀNH 01/03/2011 GIỚI THIỆU  Ngơn ngữ khai báo • Cài đặt dựa ĐSQH  Chuẩn hóa cho hệ quản trị CSDL quan hệ • • Được phát triển IBM (1970s) Các phiên chuẩn ANSI/ISO – SQL – 86 (SQL1) – SQL – 92 (SQL2) – SQL – 99 (SQL3) – SQL – 2000, 2005, 2008  Nhiều phiên cài đặt • • SQL Server Oracle GV: ĐỠ THỊ KIM THÀNH GIỚI THIỆU  SQL hỗ trợ  Ngôn ngữ định nghĩa liệu (DDL) • • •  Ngơn ngữ thao tác liệu (DML) • •  Mức quan niệm: CREATE SCHEMA, TABLE,… Mức ngoài: CREATE VIEW, GRANT,… Mức trong: CREATE INDEX, CLUSTER,… Truy vấn: SELECT Cập nhật: INSERT, DELETE, UPDATE Ngơn ngữ khai báo • • • GV: ĐỠ THỊ KIM THÀNH Ràng buộc tồn vẹn Phân quyền bảo mật Điều khiển giao tác 01/03/2011 TRUY VẤN DỮ LIỆU  Truy vấn liệu ngơn ngữ rút trích liệu thỏa    số điều kiện Dựa phép toán đại số quan hệ + số mở rộng Hỗ trợ truy vấn: • Cơ bản: chọn, chiếu, kết • Tập hợp, so sánh tập hợp truy vấn lồng • Hàm kết hợp gom nhóm • Một số kiểu truy vấn khác Ngơn ngữ truy vấn liệu SQL ngơn ngữ chuẩn, có cấu trúc dùng để truy vấn thao tác CSDL quan hệ GV: ĐỖ THỊ KIM THÀNH CẤU TRÚC  Câu truy vấn tổng quát: SELECT [ DISTINCT ] danh_sách_cột | hàm FROM danh sách quan hệ (hay bảng, table) [WHERE điều_kiện] [GROUP BY danh_sách_cột_gom_nhóm] [HAVING điều_kiện_trên_nhóm] [ORDER BY cột1 ASC | DESC, cột2 ASC | DESC,… ] GV: ĐỖ THỊ KIM THÀNH 01/03/2011 CÁC TỐN TỬ VÀ PHÉP TỐN  Tốn tử so sánh: • • • • • • • =,>,=, 20000 AND LUONG < 30000 SELECT MANV, TENNV FROM NHANVIEN WHERE LUONG BETWEEN 20000 AND 30000 GV: ĐỖ THỊ KIM THÀNH 20 10 01/03/2011 Mệnh đề WHERE (TT) NOT BETWEEN Hãy cho biết MANV TENNV có lương không nằm khoảng tử 20000 đến 30000 SELECT MANV, TENNV FROM NHANVIEN WHERE LUONG NOTBETWEEN 20000 AND 30000 21 GV: ĐỖ THỊ KIM THÀNH Mệnh đề WHERE (TT) LIKE Hãy cho biết MANV TENNV có địa có từ Nguyễn SELECT MANV, TENNV FROM NHANVIEN WHERE DC LIKE „Nguyễn_ _ _ _‟ SELECT MANV, TENNV Ký tự FROM NHANVIEN WHERE DC LIKE „Nguyễn %‟ GV: ĐỖ THỊ KIM THÀNH Chuỗi 22 11 01/03/2011 Mệnh đề WHERE (TT) NOTLIKE Hãy cho biết MANV TENNV có họ (HONV) Nguyễn SELECT MANV, TENNV FROM NHANVIEN WHERE HONV LIKE „Nguyễn‟ Hãy cho biết MANV TENNV họ Nguyễn SELECT MANV, TENNV FROM NHANVIEN WHERE HOVN NOT LIKE „Nguyễn‟ 23 GV: ĐỖ THỊ KIM THÀNH Mệnh đề WHERE (TT) Ngày Hãy cho biết MANV TENNV có ngày sinh nằm khoảng tử 1955-12-08 đến 1966-07-19 SELECT MANV, TENNV FROM NHANVIEN WHERE NS BETWEEN „1955-12-08‟ AND „1966-07-19‟ „1955-12-08‟ YYYY-MM-DD „17:30:00‟ „12/08/1955‟ MM/DD/YYYY „05:30 PM‟ „December 8, 1955‟ „1955-12-08 17:30:00‟ GV: ĐỖ THỊ KIM THÀNH 24 12 01/03/2011 Mệnh đề WHERE (TT) NULL  Sử dụng truờng hợp • • • Khơng biết (value unknown) Không thể áp dụng (value inapplicable) Không tồn (value withheld)  Những biểu thức tính tốn có liên quan đến giá trị NULL cho kết NULL • • • x có giá trị NULL x + cho kết NULL x + biểu thức không hợp lệ SQL  Những biểu thức so sánh có liên quan đến giá trị NULL cho kết UNKNOWN • • x = cho kết UNKNOWN x = so sánh khơng hợp lệ SQL 25 GV: ĐỠ THỊ KIM THÀNH Mệnh đề WHERE (TT) NULL Hãy cho biết MANV TENNV khơng có người quản lý SELECT MANV, TENNV FROM NHANVIEN WHERE MA_NQL IS NULL Hãy cho biết MANV TENNV có người quản lý SELECT MANV, TENNV FROM NHANVIEN WHERE MA_NQL IS NOT NULL GV: ĐỖ THỊ KIM THÀNH 26 13 01/03/2011 Mệnh đề FROM Tên bí danh PHONGBAN(TENPHG, MAPHG,TRPHG, NG_NHANCHUC) DIADIEM_PHG(MAPHG, DIADIEM) Hãy cho biết địa điểm, tên phòng phòngban SELECT TENPHG, DIADIEM FROM PHONGBAN, DIADIEM_PHG WHERE MAPHG = MAPHG SELECT TENPHG, DIADIEM FROM PHONGBAN AS PB, DIADIEM_PHG AS DD WHERE PB.MAPHG = DD.MAPHG GV: ĐỖ THỊ KIM THÀNH 27 BETWEEN, ORDER BY, IS NULL Câu hỏi 13: Sử dụng =,>,>=,… Danh sách nhân viên sinh khoảng từ năm 1978 đến 1983? SELECT FROM WHERE GV: ĐỖ THỊ KIM THÀNH MANV, HONV, TENLOT, TENNV NHANVIEN YEAR(NS)>=1978 AND YEAR(NS) (SELECT FROM AVG(LUONG) NHANVIEN ) 38 19 01/03/2011 MỆNH ĐỀ GROUP BY Sử dụng hàm COUNT, SUM, MIN, MAX, AVG nhóm nhỏ: mệnh đề GROUP BY – – Chia dịng thành nhóm nhỏ dựa tập thuộc tính chia nhóm Thực phép tốn nhóm như:      COUNT : thực phép đếm SUM : tính tổng MIN : lấy giá trị nhỏ MAX : lấy giá trị lớn AVG : lấy giá trị trung bình 39 GV: ĐỠ THỊ KIM THÀNH MỆNH ĐỀ GROUP BY nhóm Quan hệ NV Q a a b b c c c c c d d d Chia dòng thành nhóm dựa tập thuộc tính chia nhóm S 10 10 10 16 18 50 Q Count(S) a b c d Các thuộc tính GROUP BY: Q GV: ĐỠ THỊ KIM THÀNH Tương tự cho hàm SUM, MIN, MAX, AVG Câu SQL: Select Q, count(S) From NV Group by Q 40 20 01/03/2011 MỆNH ĐỀ GROUP BY Sử dụng hàm COUNT, SUM, MIN, MAX, AVG nhóm nhỏ: mệnh đề GROUP BY Câu hỏi 23: Cho biết số lượng nhân viên theo phái? Do cột phái có giá trị “nam” “nữ”, trường hợp ta chia bảng NHANVIEN thành nhóm nhỏ Thuộc tính chia nhóm thuộc tính “Phai” SELECT PHAI, COUNT(MANV) AS SONV FROM GROUP BY NHANVIEN PHAI 41 GV: ĐỖ THỊ KIM THÀNH MỆNH ĐỀ GROUP BY Sử dụng hàm COUNT, SUM, MIN, MAX, AVG nhóm nhỏ: mệnh đề GROUP BY Câu hỏi 24: Cho biết số lượng nhân viên theo phòng? Do cột MAPHG có giá trị “NC” “DH” “QL”, trường hợp ta chia bảng nhân viên thành nhóm nhỏ Thuộc tính chia nhóm thuộc tính “MAPHG” SELECT MAPHG, COUNT(MANV) FROM NHANVIEN GROUP BY MAPHG GV: ĐỖ THỊ KIM THÀNH 42 21 01/03/2011 MỆNH ĐỀ HAVING  Lọc kết theo điều kiện, sau gom nhóm  Điều kiện HAVING điều kiện hàm tính tốn nhóm (Count, Sum, Min, Max, AVG) thuộc tính danh sách GROUP BY 43 GV: ĐỖ THỊ KIM THÀNH MỆNH ĐỀ GROUP BY Câu hỏi 25: Cho biết nhân viên tham gia từ đề án trở lên? SELECT FROM GROUP BY HAVING GV: ĐỖ THỊ KIM THÀNH MANV, COUNT(MADA) AS SODATG PHANCONG MANV COUNT(MADA) >=2 44 22 01/03/2011 MỆNH ĐỀ GROUP BY Câu hỏi 26: Cho biết số nhân viên có mã phịng ban có nhân viên? SELECT FROM GROUP BY HAVING GV: ĐỖ THỊ KIM THÀNH MAPHG, COUNT(MANV) NHANVIEN MAPHG COUNT(MANV) > 45 23 ... THỊ KIM THÀNH Mệnh đề WHERE (TT) Ngày Hãy cho biết MANV TENNV có ngày sinh nằm khoảng tử 195 5-1 2-0 8 đến 1 966 -0 7-1 9 SELECT MANV, TENNV FROM NHANVIEN WHERE NS BETWEEN „195 5-1 2-0 8‟ AND „1 966 -0 7-1 9‟... BETWEEN „195 5-1 2-0 8‟ AND „1 966 -0 7-1 9‟ „195 5-1 2-0 8‟ YYYY-MM-DD „17:30:00‟ „12/08/1955‟ MM/DD/YYYY „05:30 PM‟ „December 8, 1955‟ „195 5-1 2-0 8 17:30:00‟ GV: ĐỖ THỊ KIM THÀNH 24 12 01/03/2011 Mệnh đề... NVC, Q5 Nam 40000 745 189 Nguyễn Mạnh Hùng 15/9/1 962 VT Nam 38000 123 248 Lê Thị Hoa 4/9/1978 TN Nữ 360 00 123 σPHG=5 (NHANVIEN) 13 GV: ĐỖ THỊ KIM THÀNH MỆNH ĐỀ SELECT SELECT MANV, HOTEN, TENLOT,

Ngày đăng: 11/05/2021, 01:19

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan