•
•
•
•
•
QUERY LÀ GÌ?
CÁC LOẠI QUERY
CÁC CƠNG CỤ TẠO QUERY TRONG ACCESS
MỘT SỐ TỐN TỬ, LỆNH VÀ HÀM TRONG SQL
TẠO QUERY
•
•
•
•
•
•
•
•
•
Select Query
Cross-tab Query
Make-table Query
Update Query
Append Query
Delete Query
Find duplicate Query
Find unmatched Query
QUERY CÓ THAM SỐ
Quản trị Cơ sở dữ liệu với Access
79
•
•
•
Table & Relationship: Tổ chức, sắp xếp, lưu trữ dữ liệu
Query: Cập nhật, kiểm tra, truy xuất, tổng hợp dữ liệu
Công cụ cho phép thực hiện các thao tác trên cơ sở dữ
liệu như:
•
•
•
•
Thêm, sửa, xóa dữ liệu
Tạo table từ các table/query khác
Tập hợp, tính tốn, tổng hợp dữ liệu từ các table/query khác
Query là nguồn dữ liệu cung cấp cho Report, Form
Quản trị Cơ sở dữ liệu với Access
80
1. Select Query (Truy vấn Chọn số liệu):
• Chọn cho hiển thị dữ liệu trên một hoặc nhiều tables
theo những điều kiện nào đó
• Ví dụ: Liệt kê kết quả thi mơn THCSC của sinh viên lớp
10QTKD01
• Tính tốn và hiển thị dữ liệu theo nhóm
• Ví dụ: Đếm số lượng sinh viên theo từng lớp
Quản trị Cơ sở dữ liệu với Access
81
2. CrossTab Query: (Truy vấn Tham chiếu chéo):
•
•
Dùng để tính tốn và hiển thị dữ liệu từ dạng dịng
thành dạng cột.
Dùng để lập bảng tổng hợp/phân tích số liệu
•
Tính tốn cho từng nhóm, mỗi nhóm thể hiện trên 1 dịng
•
Phân tích giá trị tính được của mỗi nhóm theo các cột
• Ví dụ: Lập bảng kê số lượng sinh viên thi lần 2, học kỳ một cho
từng lớp. Yêu cầu thể hiện chi tiết số lượng dự thi từng môn
Quản trị Cơ sở dữ liệu với Access
82
3. Make-Table Query: (Truy vấn Tạo table):
• Cũng là một Select query nhưng sẽ có một table mới
được tạo ra để lưu kết quả truy vấn.
4. Update Query: (Truy vấn Cập nhật dữ liệu):
• Dùng để cập nhật dữ liệu trong table. Có thể kèm theo
điều kiện hoặc khơng.
• Ví dụ: Cộng 1 điểm cho tất cả các sinh viên thi môn THCS3
Quản trị Cơ sở dữ liệu với Access
83
5. Append Query: (Truy vấn thêm dữ liệu):
• Dùng để thêm record từ table/query A vào table B. Nếu
table B có một field F nào đó mà A khơng có, thì field F
bên B nhận giá trị Null
6. Delete Query (Truy vấn xóa dữ liệu)
•
Dùng để xóa record khỏi table
•
Ví dụ xóa khỏi table Sinhvien những records có MALOP =
’07QTKD01’
Quản trị Cơ sở dữ liệu với Access
84
7. Find Duplicate Query (Tìm dữ liệu trùng)
•
Dùng để tìm những records có giá trị trùng nhau trên
những fields nào đó. Thường dùng để làm sạch dữ liệu
•
Ví dụ tìm những sinh viên trùng mã sinh viên
8. Find Unmatched Query (Tìm dữ liệu khơng khớp)
•
Dùng để tìm những records có giá trị không hợp lệ
giữa hai tables trên một hoặc nhiều fields
•
•
Ví dụ tìm những sinh viên có MALOP khơng có trong table Lop
Hoặc tìm những records trong table Diem mà giá trị của field
MASV khơng có trong table Sinhvien
Quản trị Cơ sở dữ liệu với Access
85
•
Access cung cấp 3 công cụ tạo query là: Query Wizard, Môi
trường thiết kế với QBE (Design View) và Ngôn ngữ SQL
(SQL View)
Việc chọn công cụ nào để tạo query là tùy theo:
•
•
•
•
Phù hợp (hoặc dễ thực hiện) với loại query
Thói quen, sở thích của người dùng
Có khi ta dùng cơng cụ này để tạo trước, sau đó dùng cơng cụ khác
để chỉnh sửa
1. Dùng Query Wizard
•
•
•
Query Wizard sẽ dẫn dắt ta khai báo từng bước để xây dựng một
query
Query Wizard chỉ hỗ trợ một số loại query
Ví dụ: Liệt kê danh sách sinh viên gồm các fields: Mã sinh viên, Họ,
Tên và Tên lớp
Quản trị Cơ sở dữ liệu với Access
86
•
Bước 1: Chọn tab Create sau đó click vào Query Wizard
Quản trị Cơ sở dữ liệu với Access
87
•
Bước 2: Chọn loại query muốn tạo, sau đó click OK
Quản trị Cơ sở dữ liệu với Access
88
•
Bước 3: Chọn dữ liệu cần truy xuất, sau đó click Next
Chọn table và/hoặc query có
chứa dữ liệu cần truy xuất
Bạn có thể chọn nhiều hơn 1 table/query
Chọn fields cần truy xuất
Quản trị Cơ sở dữ liệu với Access
89
•
Bước 4: Đặt tên cho query, sau đó click Finish
Đặt tên cho query
Bạn muốn mở query hay chỉnh
sửa lại thiết kế cho query
Quản trị Cơ sở dữ liệu với Access
90
•
Query vừa tạo cho kết quả như sau:
Quản trị Cơ sở dữ liệu với Access
91
•
Ngoài việc hỗ trợ tạo các query đơn giản, Query Wizard cịn là
cơng cụ giúp ta học cách thiết kế query cũng như học cách viết
lệnh SQL
Design View
SQL View
Quản trị Cơ sở dữ liệu với Access
92
2. Dùng Design View
•
•
Design View là mơi trường thiết kế query trực quan
Gồm 2 phần: Phần thứ nhất chứa các tables tham gia
truy vấn và phần thứ 2 có dạng khung lưới gọi là QBE
(Query By Example)
Quản trị Cơ sở dữ liệu với Access
93
•
Bước 1: Chọn tab Create, sau đó click vào Query Design
Quản trị Cơ sở dữ liệu với Access
94
•
Bước 2: Thêm các table/query tham gia vào query
Quản trị Cơ sở dữ liệu với Access
95
•
Bước 3: Khai báo các tùy chọn
•
•
•
•
Trong hầu hết các ô trong lưới QBE đều có combo box để ta lựa chọn giá
trị mà không phải gõ vào
Các ô trên dòng Field dùng để khai báo các fields cần truy xuất
Các ơ trên dịng Table dùng để khai báo các table ứng với field ở trên nó
Các ơ trên dịng Sort có các giá trị: Ascending, Descending và (not sorted)
Quản trị Cơ sở dữ liệu với Access
96
•
Bước 3: Khai báo các tùy chọn (tt)
Nguyên tắc kết hợp các ơ điều kiện:
Các ơ trên cùng một dịng được kết hợp nhau theo phép AND
Các ơ khác dịng được kết hợp nhau theo phép OR
(((Sinhvien.HO) Like ('NGUYỄN*')) AND ((Diem.LAN)=1) AND
((Diem.DIEM)=0) AND ((Diem.HOCKY) In (1,2)))
OR
(((Sinhvien.HO) Like ('NGUYỄN*')) AND ((Diem.LAN)=2) AND
((Diem.DIEM)<5) AND ((Diem.HOCKY) In (1,2)))
Quản trị Cơ sở dữ liệu với Access
97
•
Xem kết quả: Chọn chế độ xem DataSheet View để xem thử kết quả
Quản trị Cơ sở dữ liệu với Access
98
3. Dùng ngơn ngữ SQL:
•
Khi ta tạo query bằng Query Wizard hay trên Design
View, Access cũng tự sinh ra câu lệnh SQL tương ứng
Quản trị Cơ sở dữ liệu với Access
99
3. Dùng ngơn ngữ SQL: (tt)
• SQL
(Structured Query Language –
ngơn ngữ vấn tin có cấu trúc)
là ngơn ngữ dùng để viết các
query trong Access cũng như
trong hầu hết các hệ quản trị
cơ sở dữ liệu
• Ta có thể viết trực tiếp câu
lệnh SQL thông qua cửa sổ
SQL View
Quản trị Cơ sở dữ liệu với Access
100
3. Dùng ngơn ngữ SQL: (tt)
•
Trong các câu lệnh SQL trên, ta thấy có:
•
•
•
•
•
•
•
•
•
SELECT
FROM
WHERE
INNER JOIN
ORDER BY
AND
OR
IN
LIKE
Quản trị Cơ sở dữ liệu với Access
Từ khóa
Phép tốn
Hàm
101
1. Cú pháp cơ bản cho Select Query:
SELECT <danh sách fields, biểu thức, *> [AS <Caption>]
FROM <danh sách table>
[WHERE <Điều kiện cho dữ liệu>]
[GROUP BY <ds fields>
[HAVING <ĐK cho nhóm>]]
[ORDER BY <ds fields> [ASC/DESC]]
Quản trị Cơ sở dữ liệu với Access
102
1. Cú pháp cơ bản cho Select Query: (tt)
• SELECT <danh sách fields, biểu thức, *> [AS <Caption>]
FROM <danh sách table>:
• Truy xuất những fields (hoặc biểu thức trên fields) nào
• Dấu * thể hiện tất cả các fields của table
• AS <Caption>: Hiển thị với tiêu đề là <caption> - Tùy chọn, nếu
khơng đề cập thì tiêu đề mặc nhiên là thuộc tính Caption của
field
• <danh sách table>: Các fields ở trên nằm trong các tables nào
• Vd1:
SELECT Sinhvien.MASV, Sinhvien.HO, Sinhvien.TEN FROM Sinhvien
• Vd2:
SELECT Sinhvien.HO + Sinhvien.TEN AS HoVaTen FROM Sinhvien
• Vd3: SELECT Sinhvien.*, Lop.TENLOP FROM Sinhvien, Lop
Quản trị Cơ sở dữ liệu với Access
103