Khái niệm truy vấn dữ liệu
Trang 1Bà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
Trang 2thể 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
Trang 3Hì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
Trang 4Mệ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
Trang 54 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’
Trang 6Phầ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.