Chương 3
TRUY VẤN DỮ LIỆU
(QUERY)
? 1. Vấn Đề
1. Muốn biết một hoá đơn bán hàng của
khách hàng nào (tên khách hàng) và do
nhân viên nào bán (tên nhân viên).
Select Q
QLBH
Select Q
2. Tìm tên và địa chỉ các khách hàng mua
hàng trước ngày 1/1/2004
QLBH
Select Q
3. Ghép Hokh và TenKh thành cột
họvàtên.
QLBH
Select Q
4. Tính tiền chi tiết cho từng hóa đơn
(SoHDB, MaMH, SoLuong, DonGiaBan,
ThanhTien):
QLBH
5. Tính thành tiền cho từng hóa đơn
(nhóm dữ liệu)
Group by
Sum
QLBH
6. Thống kê khách hàng mua hàng hóa
nào với số lượng bao nhiêu?
To Crosstab Q
QLBH
7. Tạo Table từ các thông tin tìm
kiếm được.
Ví dụ:
? Muốn tạo Table gồm các thuộc tính
KHACHMUA(SoHDB,HoTenKH,HoTenNV)
QLBH
8. Sửa đơn giá bán của mặt hàng Cam
lên 10%.
9. Xoá tất cả các mặt hàng do nhà
cung cấp Bitis cung cấp.
QLBH
2. CÁC LOẠI TRUY VẤN
2. CÁC LOẠI TRUY VẤN
I. Nhóm truy vấn xử lý dữ liệu (không làm thay đổi
dữ liệu trên table):
Truy vấn chọn (Select Query)
Nhóm dữ liệu
Truy vấn có tham số
Truy vấn chéo (Crosstab Query)
II. Nhóm truy vấn hành động-Action Query(làm
thay đổi dữ liệu trên Table):
Truy vấn tạo bảng (Make-Table Query)
Truy vấn cập nhật (Update Query)
Truy vấn thêm (Append Query)
Truy vấn xóa (Delete Query)
2.1. Truy vấn chọn lựa (Select
Query):
2.1.1. Công dụng: Chọn lựa, rút trích dữ
liệu trên một số cột của một hay nhiều bảng
theo một điều kiện nào đó (có thể có điều
kiện hoặc không). Trên truy vấn chọn lựa, có
thể:
- Tính toán
- Nhóm dữ liệu (Group)
Điều kiện có thể tĩnh hoặc động. Khi điều
kiện là động người ta còn gọi là truy vấn có
tham số.
2.1.2. Các bước tạo truy vấn lựa
chọn1 (Select Query)
B1. -> Query -> New->Design View -> OK
B2. Đưa các bảng (table) hoặc các truy vấn
(query) liên quan đến các dữ liệu truy vấn vào
cửa sổ truy vấn bằng cách đúp vào tên bảng. (
mục Table trong lưới QBE)
B3. Xác định tên các cột cần xuất hiện trong kết
quả truy vấn bằng cách đúp vào tên trường.
(mục Field trong lưới QBE)
Các bước tạo truy vấn lựa chọn2
(Select Query)
B4. Khai báo các thành phần của lưới QBE:
-
Sort:
-
Ascending: Xếp dữ liệu tăng dần.
-
Descending: Xếp dữ liệu giảm dần.
-
Not sorted: Không sắp xếp.
-
Show:
-
√
: Cho hiện cột.
: Không cho hiện cột.
Các bước tạo truy vấn lựa chọn3
(Select Query) (tt)
-
Criteria:
-
Điều kiện lọc dữ liệu (nếu có yêu cầu).
Chú ý:
-
Điều kiện lọc đặt vào hàng Criteria và các hàng dưới.
-
Điều kiện hoặc giưã các cột: đặt trên những hàng khác
nhau.
-
Điều kiện và giưã các cột: đặt trên cùng 1 hàng.
-
Dùng các toán tử.
B5. Lưu bảng truy vấn: Ctrl + S hay File -> Save
Một số thao tác thường dùng
- Xem trước kết quả truy vấn:
(menu View -> Datasheet view)
- Trở lại cửa sổ truy vấn:
(menu View -> Design View)
- Thực hiện một truy vấn:
(menu Query -> Run)
2.1.3. Ví dụ tạo truy vấn chọn lựa
(Select Query)1
Tạo Query giải quyết các yêu cầu sau:
1. Muốn biết một hoá đơn bán hàng của
khách hàng nào (tên khách hàng) và do
nhân viên nào bán (tên nhân viên).
2. Liệt kê danh sách khách mua hàng (HọKH,
TênKH, Địa chỉ, Điện thoại, Họ tên NV, Số
HD bán, Ngày bán, Tên MH, Số lượng, Đơn
giá), sắp xếp theo tênKH, nếu tên trùng
nhau thì sắp xếp theo họ.
3. Lập danh sách nhân viên có giới tính là nữ
4. Tìm tên và địa chỉ các khách hàng có giới
tính là nam mua hàng trước ngày 1/1/2004
2.1.3. Ví dụ tạo truy vấn chọn lựa
(Select Query)2
5.
Ghép Hokh và TenKh thành
cột họvàtên.
6.
Tính tiền chi tiết cho từng
hóa đơn (SoHDB, MaMH, SoLuong, DonGiaBan,
ThanhTien)
Tạo một cột mới
Tên cột mới : biểu thức
Ví dụ1: Họ và tên: [HoKH] & [TênKH]
Ví dụ 2: Thành tiền : [SoLuong]*[DonGiaBan]
Một số toán tử được sử
dụng trong biểu thức truy vấn
Các toán tử so sánh: =, < >, >, <, >=, <=
Giữa hai giá trị: Between … and…
Ví dụ:
giá trị từ 20 đến 30: Between 20 and 30
hay:
>=20 and <= 30
1
Một số toán tử được sử dụng
trong biểu thức truy vấn2
Các hàm ngày, tháng, năm:
Ngày = 26/10/2004
Day([ngày]) = 26
Month([ngày]) = 10
Year([ngày]) = 2004
DatePart(‘q’, [Ngày]) = 4 (quý)
DatePart(‘m’, [Ngày]) =10 (tháng)
DatePart(‘yyyy’, [Ngày]) = 2004 (năm)
Một số toán tử được sử dụng
3
trong biểu thức truy vấn
Đúng với mẫu đưa ra: Like
Ví dụ:
Like“40*”: tất cả những chuỗi có hai ký tự đầu là 40.
Like“???C*”: tất cả những chuỗi có ký tự thứ 4 là C.
Các toán tử logic: and, or, not
Các phép toán số học: +, -, *, /,^(lũythừa), Mod
Một số toán tử được sử dụng
3
trong biểu thức truy vấn
Tên trường đặt giữa hai dấu ngoặc vuông:
[tên trường]
Ví dụ: [MaKH]
Dữ liệu kiểu ngày đặt giữa hai dấu # và #:
#25/09/75#
Một số toán tử được sử dụng
4
trong biểu thức truy vấn
Nối hai chuỗi ký tự: &
Ví dụ: Nối trường HọKH và trường TênKH
thành trường HọTenKH
HoTenKH = [HoKH] & [TenKH]