Thực hành các phép toán tập hợp và truy vấn lồng

4 490 0
Thực hành các phép  toán tập hợp và truy vấn lồng

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

Thông tin tài liệu

Thực hành phép toán tập hợp truy vấn lồng Thực hành phép toán tập hợp truy vấn lồng Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhắc lại lý thuyết Toán tử UNION cho phép ta hợp kết hai hay nhiều truy vấn thành tập kết Cú pháp phép hợp sau: Query_1 [UNION [ALL] Query_2 ] [UNION [ALL] Query_N ] [ORDER BY clause] [COMPUTE clause] Trong Query_1 có dạng sau: Và Query_i(i=2,…,n) có dạng SELECT select_list SELECT select_list [INTO clause] [FROM clause] [FROM clause] [WHERE clause] [WHERE clause] [GROUP BY clause] [GROUP BY clause] [HAVING clause] [HAVING clause] 1/4 Thực hành phép toán tập hợp truy vấn lồng Truy vấn lồng Cú pháp câu truy vấn lồng Ví dụ : sở liệu quản lý sách thư viện trường ĐHSPKTHY, hiển thị tên đầu sách không nhập năm 2007, thiết kế câu truy vấn sau: SELECT tenDS FROM tblDauSach WHERE maDS NOT IN (SELECT maDS FROM tblPhieuNhap WHERE ngayNhap BETWEEN '1/1/2007' AND '31/12/2007' ); • Các câu lệnh SELECT lồng nhiều mức • Câu truy vấn thường trả tập giá trị • Các câu truy vấn mệnh đề WHERE kết hợp phép nối logic • Mệnh đề WHERE câu truy vấn cha ◦ ◦ So sánh tập hợp thường với số toán tử ▪ IN, NOT IN, ALL, ANY SOME ◦ Kiểm tra tồn ▪ EXISTS, NOT EXISTS Truy vấn lồng phân cấp + Mệnh đề WHERE truy vấn không tham chiếu đến thuộc tính quan hệ mệnh đề FROM truy vấn cha + Khi thực hiện, câu truy vấn thực trước 2/4 Thực hành phép toán tập hợp truy vấn lồng Toán tử In Exists • IN ◦ IN ◦ Thuộc tính mệnh đề SELECT truy vấn phải có kiểu liệu với thuộc tính mệnh đề WHERE truy vấn cha • EXISTS ◦ Không cần có thuộc tính, số hay biểu thức khác đứng trước ◦ Không thiết liệt kê tên thuộc tính mệnh đề SELECT truy vấn Những câu truy vấn có ANY hay IN chuyển thành câu truy vấn có EXISTS Bài Tập mẫu Hãy viết câu truy vấn lấy tất đầu sách có người mượn vào ngày ’20-9-2008’ Hướng dẫn: Ta nhận thấy ta cần lấy thông tin sách có maDS bảng tblDauSach trùng với maDS mượn ngày ‘20/9/2008’ Lời giải: Select * from tblDauSach where maDS IN (select maDS from tblSach where maSach IN (select maSach from tblPhieuMuon where ngayMuon = ‘20/9/2008’)) Hãy viết câu truy vấn SQL thực lấy tất sách sách NXB giao thông vận tải Hướng dẫn 3/4 Thực hành phép toán tập hợp truy vấn lồng Ta nhận thấy ta cần lấy thông tin sách có maNXB khác với maNXB NXB Giao thông vận tải Lời giải Select * From tblDauSach Where maNXB not in (select maNXB From tblNXB Where tenNXB = ‘NXB Giao Thông Vận Tải’) Bài tập thực hành Hãy viết câu truy vấn SQL thực yêu cầu sau: Hiển thị tất nhà xuất có sách mượn vào ngày ‘3/9/2008’ Hiển thị tất sinh viên mược sách tác giả ‘Quách Tuấn Ngọc’ Hiển thị tất sách NXB Lao Động có tình trạng sách hỏng Hiển thị thông tin đầu sách xuất Hà Nội Hiển thị tất sinh viên mượn sách thuộc lĩnh vực ‘Tin Học’ Hiển thị tất sách thuộc lĩnh vực ‘Ô tô’ lĩnh vực ‘Tin học’ Hiển thị tất sinh viên mượn sách vào ngày ‘25/8/2008’ Hiển thị thông tin sách nhập vào năm 2008 Hiển thị thông tin sách in nhà xuất Hà Nội ( Chú ý: Sinh viên phải hoàn thành tất tập 1, 3, 5, cuối nộp cho giáo viên) 4/4

Ngày đăng: 19/10/2016, 15:05

Từ khóa liên quan

Mục lục

  • Thực hành các phép toán tập hợp và truy vấn lồng

  • Nhắc lại lý thuyết

  • Bài tập thực hành

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

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

Tài liệu liên quan