Tải bản đầy đủ (.pdf) (6 trang)

Bài 11 Truy Vấn Dữ Liệu potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (223.51 KB, 6 trang )

Bài 11 Truy Vấn Dữ Liệu
Mục đích bài học:
Sau khi hoàn thành bài thực hành học viên có thể:
 Thực hiện các truy vấn dữ liệu đơn giản
 Làm việc với các mệnh đề như: WHERE, TOP, ORDER BY
 Dùng mệnh đề GROUP BY trong truy vấn
 Truy xuất dữ liệu sử dụng các ký tự đại diện
 Thực hiện các truy vấn indistinct
Giới thiệu
Truy vấn là một câu hỏi được viết bằng ngôn ngữ truy vấn có cấu trúc (SQL). Câu lệnh SELECT
được dùng để thực hiện các truy vấn. Cách dùng đơn giản nhất của câu lệnh SELECT là truy xuất
tất cả các bản ghi của bảng không theo điều kiện. Trong phần này chúng ta sẽ học cách viết và
thực thi truy vấn đơn giản.
1. Khởi động Query Analyzer
2. Chọn cơ sở dữ liệu làm việc pubs
3. Viết câu lệnh SELECT sau để truy xuất tất cả các bản ghi từ bảng sales
Hình 11.1: Câu lệnh SELECT đơn giản
Lọc các bản ghi bằng mệnh đề WHERE
Các bảng dữ liệu thường rất lớn và chứa nhiều bản ghi dữ liệu. Do đó việc hiển thị tất cả các bản
ghi của bảng trong câu truy vấn là không cần thiết và thiếu thực tế. Với mệnh đề WHERE ta có
Truy vấn dữ liệu 175
thể truy xuất dữ liệu theo điều kiện. Mệnh đề WHERE trong truy vấn đóng vai trò là bộ lọc hạn
chế số bản ghi theo điều kiện định sẵn. Chỉ những bản ghi thỏa mãn điều kiện mới được hiển thị
trong kết quả truy vấn.
Để truy xuất các bản ghi có điều kiện thanh toán là ON invoice, ta dùng câu lệnh sau:
Hình 11.2: Câu lệnh SELECT có mệnh đề WHERE
Hạn chế số bản ghi dùng TOP:
Mệnh đề TOP hạn chế số bản ghi trả về trong truy vấn.
Để truy xuất 3 bản ghi đầu tiên của trường QTY ta dùng truy vấn sau:
Hình 11.3: Câu lệnh SELECT dùng mệnh đề WHERE và TOP
Sắp xếp dữ liệu hiển thị dùng ORDER BY


Để hiển thị các bản ghi trong bảng sales sắp xếp theo giá trị tăng dần của trường quantity,
chúng ta dùng truy vấn sau
176 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
Hình 11.4: SELECT với ORDER BY
Sắp xếp và lọc dữ liệu dùng ORDER BY
Để hiển thị các bản ghi có điều kiện thanh toán là Net 60 và sắp xếp theo trường quantity, ta
dùng
Hình 11.5: SELECT với ORDER BY và WHERE
Nhóm dữ liệu
Mệnh đề GROUP BY nhóm các bản ghi trong bảng dựa trên một hay nhiều trường dữ liệu. Kết
quả là mỗi nhóm dữ liệu sẽ hiển thị thành một bản ghi chứa các giá trị tổng cho từng nhóm.
Truy vấn dữ liệu 177
Mệnh đề GROUP BY chia bảng dữ liệu thành một hay nhiều tập con trong đó mỗi tập con này có
các giá trị và biểu thức giống nhau. Nếu trong câu lệnh SELECT ta dùng các hàm tập hợp, mệnh
đề này sẽ cho ta một giá trị duy nhất cho từng tập hợp.
Để nhóm các bản ghi trong bảng sales theo trường mã kho hàng (stor_id) và tính tổng số lượng
hàng cho từng kho hàng ta dùng truy vấn
Hình 11.6: SELECT với GROUP BY
Thực thi các truy vấn indistinct
Ta có thể tìm kiếm dữ liệu dựa vào điều kiện tìm kiếm indistinct như trong hình Figure 11.7 dưới
đây. Kết quả truy vấn bao gồm dữ liệu tương tự.
Hình 11.7: SELECT dùng LIKE
Phần II: 1 giờ tiếp theo
Bài tập
1. Hiển thị số lượng truy vấn theo khóa học.
2. Tìm tổng số truy vấn nhận được trong tháng.
3. Hiển thị hóa đơn có giá trị (amount) lớn nhất của mỗi học viên.
178 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
4. Truy xuất 4 bản ghi đầu tiên trong bảng Course.
5. Hiển thị danh sách tên các khóa học bắt đầu bằng ký tự ‘e’ dùng ký tự đại diện %.

6. Hiển thị dánh sách các khóa học từ bảng Course sắp xếp theo tên khóa học.
7. Hiển thị chi tiết các kiểu người dùng không kết thúc bằng ký tự ‘d’.
Truy vấn dữ liệu 179
Phần Tự Thực Hành
1. Tạo liên kết trong (inner join) giữa bảng Material và CourseMaterial có cùng trường
MaterialCode.
2. Tạo liên kết trong (inner join) giữa bảng Enquiry và Users có cùng trường UserId.
180 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000

×