truy vấn dữ liệu từ nhiều bảng

26 1.1K 1
truy vấn dữ liệu từ nhiều bảng

Đ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

11 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Truy vấn dữ liệu từ nhiều bảng 22 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Lấy dữ liệu từ nhiều bảng NHANVIEN PHONG … … 33 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC • Kết bằng (EquiJoin) • Kết không bằng (Non EquiJoin) • Kết với chính mình (Self Join) Các loại phép kết • Kết bằng mệnh đề Join 44 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Phép kết bằng • Sử dụng điều kiện kết bằng trong mệnh đề WHERE • Nếu xuất hiện tên cột trùng nhau trong nhiều bảng thì bắt buộc phải sử dụng tên bảng hoặc bí danh bảng trước tên cột. SELECT bang1.cot, bang2.cot FROM bang1, bang2 WHERE bang1.cot1 = bang2.cot2 55 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Phép kết bằng thực hiện như thế nào? NHANVIEN PHONG Khóa ngoại Khóa chính … … 66 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC SELECT nhanvien.manhanvien, nhanvien.tennv, nhanvien.maphong, phong.maphong, phong.makhuvuc FROM qlns.nhanvien, qlns.phong WHERE nhanvien.maphong = phong.maphong; Kết quả nhận được từ phép kết bằng … 77 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC SELECT nv.manhanvien, nv.tennv, nv.maphong, ph.maphong, ph.makhuvuc FROM qlns.nhanvien nv , qlns.phong ph WHERE nv.maphong = ph.maphong; Sử dụng bí danh cho bảng • Đơn giản hóa các câu truy vấn khi cần sử dụng tên bảng cho việc truy xuất các cột. 88 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Kết nhiều hơn hai bảng NHANVIEN KHUVUC PHONG • Để kết n bảng, ta cần tối thiểu n-1 phép kết. Ví dụ để kết ba bảng, ta cần tối thiểu hai phép kết bảng. … 99 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Kết không bằng NHANVIEN LOAICONGVIEC Mức lương của nhân viện phải nằm trong khoản hai cận trong bảng LOAICONGVIEC … 1010 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Kết quả từ phép kết không bằng SELECT nv.tennv, nv.mucluong, lcv.maloaicv FROM qlns.nhanvien nv, qlns.loaicongviec lcv WHERE nv.mucluong BETWEEN lcv.mucluong_min AND lcv.mucluong_max; … [...]... HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Thực hành • • • • Viết các câu truy vấn kết các bảng bằng mệnh đề WHERE Câu truy vấn kết với chính mình Kết hai bảng bằng Cross Join Kết các bảng sử dụng JOIN, LEFT|RIGHT|FULL JOINT 21 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Sử dụng biểu thức CASE trong truy vấn 22 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Biểu thức CASE... TIN HỌC Cross Joins • Mệnh đề CROSS JOIN sẽ kết mỗi dòng của bảng 1 với tất cả các dòng của bảng 2 NHANVIEN (14 dòng) PHONG (8 rows) … Kết quả CROSS JOIN: 14x8=112 rows … 14 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Mệnh đề ON trong phép kết JOIN • Tách biệt đều kiện kết với các điều kiện chọn lọc dữ liệu khác • Các câu truy vấn trở nên dễ đọc hơn 15 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM... nv.manhanvien, nv.tennv, nv.maphong, ph.maphong, ph.makhuvuc FROM qlns.nhanvien nv JOIN qlns.phong ph ON (nv.maphong = ph.maphong) … … 16 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Kết nhiều hơn hai bảng SELECT FROM JOIN ON JOIN ON manhanvien, tenphong, tenkhuvuc, thanhpho qlns.nhanvien nv qlns.phong ph ph.maphong = nv.maphong qlns.khuvuc kv ph.makhuvuc = kv.makhuvuc … 17 TRƯỜNG ĐẠI HỌC KHOA...TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Kết với chính mình NHANVIEN (NHAN_VIEN) … ` NHANVIEN (NGUOI_QUAN_LY) … Mã người quản lý (MANGUOIQUANLY) trong bảng NHAN_VIEN phải bằng với mã nhân viên (MANHANVIEN) trong bảng NGUOI_QUAN_LY 11 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Kết với chính mình SELECT nvien.honv+’ ‘+nvien.tennv + N' làm việc cho ' + nguoiqly.tennv... thức luận lý so sánh có kết quả là đúng 25 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Ví dụ SELECT GHICHU= CASE WHEN PHANTRAM . KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Truy vấn dữ liệu từ nhiều bảng 22 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Lấy dữ liệu từ nhiều bảng NHANVIEN PHONG … … 33 TRƯỜNG ĐẠI. bí danh cho bảng • Đơn giản hóa các câu truy vấn khi cần sử dụng tên bảng cho việc truy xuất các cột. 88 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Kết nhiều hơn hai bảng NHANVIEN. bằng trong mệnh đề WHERE • Nếu xuất hiện tên cột trùng nhau trong nhiều bảng thì bắt buộc phải sử dụng tên bảng hoặc bí danh bảng trước tên cột. SELECT bang1.cot, bang2.cot FROM bang1, bang2 WHERE

Ngày đăng: 23/05/2014, 18:24

Từ khóa liên quan

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

Tài liệu liên quan