Tài liệu Bài giảng Thống kê bằng query: 1
BÀI 4: THỐNG KÊ BẰNG QUERY
1.1 Thống kê bằng select query:
1.1.1 Chức năng:
Gộp các Record giống nhau theo 1 giá trị nào đó thành 1 nhóm và tính tổng, đếm số record, tìm
giá trị lớn nhất, nhỏ nhất, ... trong nhóm.
1.1.2 Cách dùng lệnh Total
Ví dụ 4.1 : Cho biết số sản phẩm và tổng số tiền của từng hóa đơn.
Σ
Trong cửa sổ Design View của Query:
Bước 1: Nhắp biểu tượng (Σ : Totals) trên Query Design Toolbar sẽ hiện dòng Total dưới dòng
Table
Bước 2: Chọn giá trị trên dòng Total tùy theo cột:
Group by Gộp các dòng có giá trị giống nhau trên cột thành một nhóm
Sum Tính tổng của các giá trị trên cột của nhóm
Avg Tính giá trị trung bình của các giá trị trên cột của nhóm
Max Tính giá trị lớn nhất trong các giá trị trên cột của nhóm
Min Tìm giá trị nhỏ nhất trong các giá trị trên cột của nhóm
Count Đếm số Record có trong nhóm mà tại đó cột có...
16 trang |
Chia sẻ: hunglv | Lượt xem: 8252 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Bài giảng Thống kê bằng query, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1
BÀI 4: THỐNG KÊ BẰNG QUERY
1.1 Thống kê bằng select query:
1.1.1 Chức năng:
Gộp các Record giống nhau theo 1 giá trị nào đó thành 1 nhóm và tính tổng, đếm số record, tìm
giá trị lớn nhất, nhỏ nhất, ... trong nhóm.
1.1.2 Cách dùng lệnh Total
Ví dụ 4.1 : Cho biết số sản phẩm và tổng số tiền của từng hóa đơn.
Σ
Trong cửa sổ Design View của Query:
Bước 1: Nhắp biểu tượng (Σ : Totals) trên Query Design Toolbar sẽ hiện dòng Total dưới dòng
Table
Bước 2: Chọn giá trị trên dòng Total tùy theo cột:
Group by Gộp các dòng có giá trị giống nhau trên cột thành một nhóm
Sum Tính tổng của các giá trị trên cột của nhóm
Avg Tính giá trị trung bình của các giá trị trên cột của nhóm
Max Tính giá trị lớn nhất trong các giá trị trên cột của nhóm
Min Tìm giá trị nhỏ nhất trong các giá trị trên cột của nhóm
Count Đếm số Record có trong nhóm mà tại đó cột có giá trị
First Tím giá trị đầu tiên trong các giá trị trên cột của nhóm
Last Tìm giá trị cuối cùng trong các giá trị trên cột của nhóm
Expression Cho biết cột là một biểu thức tính toán
Where Cho biết cột là một biểu thức điều kiện dùng để lọc Record trước khi tính
toán và không hiện nội dung khi xem kết quả
Ví dụ 4.2: Cho biết mỗi khách hàng đã đặt bao nhiêu hóa đơn
Show Table: Hoa Don
Field MaKH MaHD
Total Group By Count
2
1.1.3 Tổng hợp có điều kiện
Ví dụ 4.3: Cho biết tổng số tiền các hóa đơn của mỗi tháng trong năm 1993
Show Table: Hoa Don, Chi Tiet Hoa don, San pham
Field Thang: Month(NgaylapHD) Tongtien:
Dongia*Soluong
Nam: Year(Ngay lapHD)
Total Group by Sum Where
Show
Criteria 1993
Lưu ý: Cột có dòng Total=Where sẽ không được hiện ra (Show= )
• Tự tạo biểu thức tổng hợp
Việc tự tạo một biểu thức tổng hợp sẽ thay thế cho cách chọn Kiểu tổng hợp trong ô Total.
Các field mới chứa biểu thức tổng hợp sẽ sử dụng các hàm thống kê sau:
AVG (biểu thức): Tính giá trị trung bình của biểu thức trên những mẫu tin được
chọn trong query, form hay report
COUNT(biểu thức)
SUM(biểu thức)
MAX(biểu thức)
MIN(biểu thức)
Khi tự tạo biểu thức thì ô Total sẽ được đặt là Expression
Lưu ý cách đặt điều kiện trong Total:
Nếu lọc Record trước khi tính toán: dùng Where
Nếu lọc Record sau khi tính toán: không dùng Where
Ví dụ 4.4: Cho biết mỗi khách hàng đặt bao nhiêu hóa đơn mua hàng Rượu và có số tiền
>=10000$
Add Table: Hoa Don, San pham, Chi tiet Hoa don
Field MaKH So HD: MaHD Tongtien: Dongia*Soluong TenSP
Total Group by Count Where Where
Show
Criteria >=10000 "Rượu"
Ví dụ 4.5: Cho biết các khách hàng có tổng số tiền mua >=20000$
Add Table: Hoa Don, Chi tiet Hoa don, San pham
Field MaKH Tongtien: Dongia*Soluong
Total Group by Sum
Show
Criteria >=20000
3
1.1.4 Truyền tham số vào Query
- Mục đích: Thay đổi giá trị tính toán hay chọn lựa mẫu tin khi thi hành truy vấn
Ví dụ : Tạo query chọn những hóa đơn đã lập trong tháng 5 năm 1993 của nhân viên có tên là Nga
Field MaHD Ho Ten NgayLapHD
Criteria “Nga” Between #01/05/1993# and #31/05/1993#
Cách này sẽ rất bất tiện trong trường hợp cần thay đổi tên Nhân Viên hoặc khoảng thời gian lập
hóa đơn, phải mở query và tiến hành thay đổi lại điều kiện. Việc sử dụng tham số sẽ thuận lợi hơn
rất nhiều, cho phép chọn ra các hóa đơn của một nhân viên nào đó, được lập trong một khoảng
thời gian bất kỳ, và tên nhân viên, khoảng thời gian này sẽ được nhập khi chạy query.
- Cách đặt tham số: Tại vị trí có giá trị cần thay đổi, nhập tên tham số trong dấu [].
Field MaHD Ho Ten NgayLapHD
Criteria [Nhap ten] Between [Ngay dau] and [Ngay cuoi]
Chú ý:
- Tên tham số không được trùng với tên field
- Khi thực hiện query, tên tham số sẽ hiện thông báo trong hộp thoại Enter Parameter
Value, và nhập giá trị cần lọc vào. Trong hộp thoại này không được nhập biểu thức.
- Chỉ định kiểu dữ liệu cho một tham số.
Khi giá trị nhập vào tham số không phải là chuỗi kí tự, đặc biệt là kiểu Yes/No, phải chỉ
định kiểu dự liệu của tham số bằng cách:
o Chọn Query > Parameters và nhập các tham số cần khai báo kiểu dữ liệu
Cột Parameter : nhập tên tham số cần khai báo
Cột Data type : chọn kiểu dữ liệu cho tham số
4
1.1.5 Bài tập
1. Thống kê số lượng học sinh mỗi lớp.
2. Số lượng học sinh đậu của mỗi lớp, biết rằng đậu khi khơng cĩ mơn nào dưới 5.
3. Danh sách học sinh có tổng điểm lớn nhất mỗi lớp.
4. Cho biết các học sinh có tổng điểm cao nhất, tổng điểm thấp nhất , trung bình trong từng
lớp
5. Thống kê tổng số học sinh, số học sinh nữ và nam của từng lớp.
6. Số học sinh nữ có tổng điểm >32 của từng lớp.
7. Đối với mỗi lớp hãy cho biết số học sinh, số học sinh đậu, số học sinh rớt, tỉ lệ học sinh
đậu, tỉ tệ học sinh rớt
5
1.2 Thống kê bằng Crosstab query
Crosstab Query là một loại Query dùng để tổng hợp dữ liệu dựa trên giá trị của ít nhất là 2 field,
trong đó giá trị của một Field trong Table hoặc Query nguồn được dùng làm tiêu đề dòng, giá trị
của một số Field (hoặc một biểu thức) được dùng làm tiêu đề các cột và giá trị tổng hợp của một
Field (hoặc một biểu thức) làm giá trị của các cột đó trong Crosstab Query.
Nhờ có Crosstab Query mà ta có thể nhìn dữ liệu dưới dạng gọn hơn so với Select Query.
Trước khi tìm hiểu cách tạo Crosstab query, chúng ta hãy tìm hiểu cấu trúc một Crosstab,
được minh hoạ bởi hình sau:
Column heading
Row heading
Value
- Row heading là tiêu đề các dịng, cĩ chứa các giá trị của các field nào đĩ làm tiêu chí thống
kê. Mỗi Crosstab phải cĩ tối thiểu 1 field làm Row heading;
- Column heading là tiêu đề các cột, cĩ chứa các giá trị của một field nào đĩ làm tiêu chí
thống kê. Mỗi Crosstab chỉ cĩ duy nhất 01 field làm Column heading;
- Value là vùng dữ liệu tổng hợp (là các con số). Chỉ cĩ duy nhất một field làm Value, tương
ứng với nĩ là một phép tổng hợp hoặc: đếm, tính tổng, tính trung bình cộng, max, min,..
Ví dụ 4.6: Giả sử bạn có query TONG HOP HOA DON như sau: Ma HD, MaKH, Hoten, Ten SP,
SoLuong, ThanhTien. Bạn muốn biết mỗi nhân viên bán mỗi sản phẩm được bao nhiêu tiền? Dữ
liệu kết quả của query như sau:
1.2.1 Tạo Crosstab Query:
Bước 1: Tạo một select query với đầy đủ các field cĩ liên quan đến phép tổng hợp (khơng
thừa và cũng khơng thể thiếu một field nào)
6
Bước 2: Nhắp biểu tượng Query trên Query Design toobar rồi chọn Crosstab Query, tại cửa sổ
Design View sẽ hiện thêm dòng Crosstab dưới dòng Total
Bước 3: Chọn các loại field sau cho crosstab:
- Một field làm chỉ tiêu phân nhóm theo dòng: chọn Row Heading tại ô Crosstab và chọn
Groupby tại ô Total
- Một field làm chỉ tiêu phân nhóm theo cột: chọn Column Heading tại ô Crosstab và chọn
Groupby tại ô Total
- Một field hay biểu thức chứa giá trị cần tổng hợp: tại ô Crosstab chọn Value và tại ô Total
chọn kiểu tổng hợp.
Lưu ý: Các Field dùng đặt điều kiện lựa chọn mẫu tin tham gia tổng hợp: tại ô Total chọn
Where, khi đó ô Crosstab sẽ là: not shown
Ví dụ: Cho biết doanh số bán hàng trong năm 1993 của mỗi nhân viên trên mỗi sản phẩm là bao
nhiêu ?
Bước 4: nhắp biểu tượng ( ! ) hoặc Datasheet view trên Query Design toolbar để xem kết quả
7
Bước 5: Chỉ định tiêu đề cột:
Trong bảng hiện kết quả (hình trên), các giá trị trong vùng Column Heading được sắp theo thứ tự
chữ cái (Bánh kem, Bánh mì, Bơ, Cá hộp, Gia vị, Nem, Rượu, Táo). Nếu muốn thay đổi thứ tự các
cột, chỉ định cột nào cần hiển thị, hoặc khi dùng Crosstab Query này làm nguồn dữ liệu cho một
SubForm, phải làm thêm thao tác như sau:
Chuyển query sang cửa sổ Query Design
Nhắp Mouse tại 1 ô trên cột có dòng
Crosstab là Column Heading (Tên
SP), nhắp biểu tượng Properties ,
chọn thuộc tính Column Heading và
liệt kê các giá trị xuất hiện ở vùng
Column Heading theo thứ tự cần
chọn.
Chú ý: Giữa các giá trị liệt kê phải
cách nhau bởi dấu ;
Ví dụ: Column Heading : "Rượu";
"Nem"; "Bánh kem"; "Cá hộp";
"Bơ"; "Gia vị"; "Bánh mì"; "Táo"
1.2.2 Bài tập
1. Tổng số tiền bán được của từng nhân viên trong từng qúi
8
2. Tổng số lượng bán được của từng sản phẩm trong từng năm.
3. Tổng số tiền mua hàng của từng khách hàng trong từng quí của năm 1992
4. Số lượng học sinh của từng lớp trong từng kết quả.
5. Số lượng học sinh của từng lớp có trong từng xếp loại
6. Cho biết mỗi khách hàng tại TP HCM đã mua mặt hàng Rượu bao nhiêu chai, tổng số tiền
mà mỗi khách hàng đã chi để mua mặt hàng này là bao nhiêu, số tiền đã mua trong từng
năm (1992, 1993) là bao nhiêu
7. Cho biết số liệu thống kê trong mỗi lớp trình bày theo từng cột thông tin sau:
" Tổng số học sinh ở mỗi lớp?
" Tổng số học sinh đậu ?
" Tổng số học sinh trượt?
1.3 Các loại Query khác:
1.3.1 Các Query sử dụng bằng Wizard:
1.3.1.1 Find Duplicates Query Wizard:
Chức năng: tìm các Record trùng lặp giá trị trên một số cột nào đó.
Ví du 4.7 : liệt kê các hóa đơn được lập vào những ngày có từ 2 hóa đơn trở lên.
Cách tạo:
Bước 1: Chọn Object là Queries rồi nhắp New, chọn Find Duplicates Query Wizard,
rồi chọn OK
Bước 2: Chọn bảng dữ liệu chứa dữ liệu trùng lặp cần tìm (ví dụ chọn bảng HOA
DON), xong nhắp Next
Bước 3: Chọn những cột chứa các giá trị trùng lặp cần tìm (ví dụ chọn cột
NgayLapHD), xong nhắp Next
Bước 4: Chọn các cột hiện ở bảng kết quả (Ma HD, MaKH, ...) nhắp Next.
Bước 5: Đặt tên cho Query kết quả, xong nhắp Finish
1.3.1.2 Find Unmatched Query Wizard
Chức năng: tìm các Record trong một bảng (A) không có trong bảng khác (B)
Ví dụ 4.8: liệt kê các khách hàng chưa đặt hóa đơn lần nào
Cách tạo:
Bước 1: Chọn Object là Queries rồi nhắp New, chọn Find Ubmatched Query
Wizard, rồi chọn OK
Bước 2: Chọn bảng A (ví dụ chọn bảng KHACH HANG), xong nhắp Next
Bước 3: Chọn bảng B (ví dụ chọn bảng HOA DON), xong nhắp Next
9
Bước 4: Chọn 2 cột quan hệ giữa 2 bảng và nhắp nút , xong nhắp Next (MaKH)
Bước 5: Chọn các cột hiện ở bảng kết quả (Mã KH, Tên Cty, ...), nhắp Next
Bước 6: Đặt tên cho Query kết quả, xong nhắp Finish
1.3.2 Các Query không sử dụng Wizard:
1.3.2.1 Make Table Query:
Chức năng: tạo một Table mới với dữ liệu lấy từ các Table hoặc Query khác.
Ví dụ 4.9: tạo Table HOA DON CUOI NAM 1993 gồm các cột MãHD, Mã KH,
NgàyLapHD, TongTien chứa các hóa đơn tháng 11, 12 năm 1993 lấy từ Table HOA
DON
Cách tạo:
Bước 1: Chọn Object là Queries rồi nhắp New, chọn Design View, rồi chọn OK
Bước 2: Chọn Table hoặc Query chứa dữ liệu nguồn (ví dụ bạn hãy chọn các bảng
Hoa Don, Chi Tiet Hoa Don, San Pham)
Bước 3: Nhắp biểu tượng Query Type trên Query Design toolbar rồi chọn Make-
Table Query sẽ hiện hộp thoại
Table Name: gõ tên table cần tạo (HOA DON CUOI NAM 1993)
Chọn Current Database (table kết quả đặt trong CSDL đang làm việc) hoặc Another
Database (table kết quả đặt trong CSDL khác và gõ tên file ở ô File name).
Bước 4: Liệt kê cột, điều kiện chọn các Record đưa vào bảng đích. Ví dụ bạn hãy
đưa vào các nội dung sau:
Field MaHD MaKH NgayLapHD TongTien: Dongia*Soluong
Criteria >=#1/11/93# and <=#31/12/93#
Bước 5: Nhắp nút Run ( ! ) trên Query Design tollbar để thi hành lệnh tạo table (nút
(hình) chỉ hiện các Record được chọn để kiểm tra đúng sai chứ không tạo table). Sau
khi thi hành xong Access sẽ hiển thị hộp thoại:
Trả lời Yes nếu bạn muốn tạo Table mới
Trả lời No nếu không muốn tạo table mới
1.3.2.2 Update Query:
Chức năng: Sửa đổi dữ liệu cho nhiều Record ở nhiều bảng theo điều kiện.
Ví dụ 4.10 : sửa trên cột ThanhPho của Table KHACH HANG từ Nha Trang thành
Khánh Hòa
Cách tạo:
Bước 1: Chọn Object là Queries rồi nhắp New, chọn Design View, rồi chọn OK
10
Bước 2: Chọn Table dữ liệu sửa chữa (KHACH HANG)
Bước 3: Nhắp biểu tượng Query Type trên Query Design toolbar rồi chọn Update
Query.
Bước 4: Chọn Field cột cần sửa
Update to: giá trị mới
Criteria: điều kiện chọn Record được sửa.
Field Thanh pho
Update to "Khánh Hòa"
Criteria "Nha Trang"
Bước 5: Nhắp nút Run ( ! ) để thi hành lệnh sẽ hiển thị hộp thoại:
Trả lời Yes nếu bạn muốn hoàn thành việc sửa đổi
Trả lời No nếu không muốn sửa đổi
1.3.2.3 Append Query:
Chức năng: Thêm vào cuối một table 1 số record mới lấy từ các table hoặc Query
khác.
Ví du 4.11: thêm vào cuối table HOA DON CUOI NAM 1993 các hóa đơn tháng 10
năm 1993 lấy từ table HOA DON.
Cách tạo:
Bước 1: Chọn Object là Queries rồi nhắp New, chọn Design View, rồi chọn OK
Bước 2: Chọn Table hoặc Query chứa dữ liệu nguồn (ví dụ chọn các bảng Hoa
Don, San Pham, Chi tiet Hoa don)
Bước 3: Nhắp biểu tượng Query Type trên Query Design toolbar rồi chọn Append
Query sẽ hiện hộp thoại
Table Name: nhắp chọn tên table đích (HOA DON CUOI NAM 1993)
Table Name: gõ tên table cần tạo (HOA DON CUOI NAM 1993)
Chọn Current Database (table kết quả đặt trong CSDL đang làm việc) hoặc Another
Database (table kết quả đặt trong CSDL khác và gõ tên file ở ô File name).
Bước 4: Khai báo Field: Tên cột chứa dữ liệu nguồn
Append to: Tên cột đích
Criteria: điều kiện để Record được sao chép
Field MãHD MaKH NgayLapHD TongTien:Dongia*Soluong
Append MaHD MaKH NgayLapHD TongTien
Criteria >=#1/10/93# and <=#31/10/93#
11
Bước 5: Nhắp nút Run để thi hành lệnh sẽ hiển thị hộp thoại:
Trả lời Yes nếu bạn muốn hoàn thành việc thêm record
Trả lời No nếu không muốn thêm
1.3.2.4 Delete Query:
Chức năng: Xóa các record theo điều kiện.
Ví dụ 4.12: xóa trong table HOA DON CUOI NAM 1993 các hóa đơn có ngày lập sau
25/12/93
Cách tạo:
Bước 1: Chọn Object là Queries rồi nhắp New, chọn Design View, rồi chọn OK
Bước 2: Chọn Table dữ liệu xóa (HOA DON CUOI NAM 1993)
Bước 3: Nhắp biểu tượng Query Type trên Query Design toolbar rồi chọn Delete
Query.
Bước 4: Chọn điều kiện xóa
Field NgayLapHD
Criteria >=#25/12/93#
Bước 5: Nhắp nút Run để thi hành lệnh sẽ hiển thị hộp thoại:
Trả lời Yes nếu bạn muốn hoàn thành việc xóa record
Trả lời No nếu không muốn xóa
MỘT SỐ HÀM TRONG ACCESS
1. Các hàm xử lý số:
Abs (number) Trả về trị tuyệt đối của number
Fix(number) Trả về phần nguyên của number
Int(number) Trả về số nguyên lớn nhất trong các số nguyên nhỏ hơn hoặc bằng
number
Sqr(number) Trả về căn bậc hai của number
12
2. Các hàm xử lý chuỗi:
Asc (string) Trả về giá trị mã ASCII của ký tự đầu tiên của chuỗi string
Chr$(charcode) Trả về ký tự có mã ASCII là charcode, kết quả kiểu String
Format$(expression, fmt) Định dạng thức của expression theo dạng thức fmt, kết
quả là một chuỗi ký tự kiểu String
Instr(start,string1,string2) Tìm một vị trí đầu tiên trong chuỗi string1 tại đó xuất
hiện chuỗi string2
Lcase$(string) Đổi những ký tự của string ra dạng chữ thường, kết quả kiểu
string
Left$(string,n) Trả về n ký tự bên trái của string, kết quả kiểu string
Len(string) Trả về số ký tự có trong string
Ltrim$(string) Trả về chuỗi string đã cắt bỏ những ký tự trống bên trái, kết
quả kiểu string
Mid$(string,m,n) Trả về n ký tự trong chuỗi string bắt đầu từ vị trí m, kết quả
kiểu string
Right$(string,n) Trả về n ký tự bên phải của string, kết quả kiểu string
Rtrim$(string) Trả về chuỗi string đã cắt bỏ những ký tự trống bên phải, kết
quả kiểu string
Space$(number) Trả về một chuỗi gồm number ký tự trống, kết qả kiểu Variant
StrComp(string1,string2) Trả về giá trị xác định kết quả của phép so sánh hai
chuỗi string1 và string2
String$(n,char) Trả về một chuỗi gồm n ký tự char, kết quả kiểu string
Ucase$(string) Đổi những ký tự của string ra dạng chữ hoa, kết quả kiểu
string
3. Các hàm xử lý ngày và thời gian:
Date() Trả về kết quả là ngày hiện tại trong đồng hồ của máy, kết quả kiểu
Date/Time
Date$() Trả về kết quả là ngày hiện tại trong đồng hồ của máy, kết quả kiểu
String
Day(DateExpr) Trả về giá trị xác định ngày (từ 1 đến 31) của DateExpr
Hour(TimeExpr) Trả về giá trị xác định giờ trong ngày (từ 0 đến 23) của
TimeExpr.
Minute(TimeExpr) Trả về giá trị xác định phút trong giờ (từ 0 đến 59) của
TimeExpr.
Month(DateExpr) Trả về giá trị xác định ngày (từ 1 đến 12) của DateExpr
13
Now() Trả về kết quả là ngày và giờ hiện tại trong đồng hồ của máy, kết
quả kiểu Variant
Second(TimeExpr) Trả về giá trị xác định giây trong 1 phút (từ 0 đến 59) của
TimeExpr
Time Trả về kết quả là giờ hiện tại trong đồng hồ của máy, kết quả kiểu
Date/Time
Time$() Trả về kết quả là giờ hiện tại trong đồng hồ của máy, kết quả kiểu
String
TimeValue(string) Trả về kết quả là một giá trị dạng giờ ứng với chuỗi string
Weekday(DataExpr) Trả về kết quả là một số từ 1-7 biểu thị ngày trong tuần
của DateExpr
Year(DateExpr) Trả về giá trị xác định năm (từ 100 đến 9999) của DateExpr
4. Các hàm đổi kiểu:
CCur(Expr) Trả về giá trị kiểu Currency từ biểu thức Expr
CDbl(Expr) Trả về một giá trị kiểu Double từ biểu thức Expr
Clnt(Expr) Trả về một giá trị kiểu Integer từ biểu thức Expr
CLng(Expr) Trả về một giá trị kiểu Long Integer từ biểu thức Expr
CSng(Expr) Trả về một giá trị kiểu Single từ biểu thức Expr
CStr(Expr) Trả về một giá trị kiểu String từ biểu thức Expr
CVar(Expr) Trả về một giá trị kiểu Variant từ biểu thức Expr
Hex(number) Trả về một giá trị hệ thập lục phân ứng với số hệ thập phân
number, kết quả kiểu Variant
Hex$(number) Trả về một giá trị hệ thập lục phân ứng với số hệ thập phân
number, kết quả kiểu String
Oct(number) Trả về một giá trị hệ bát phân ứng với số hệ thập phân number, kết
quả kiểu Variant
Oct$(number) Trả về một giá trị hệ bát phân ứng với số hệ thập phân
number, kết quả kiểu String
5. Các hàm thống kê:
Avg(Expr) Trả về giá trị trung bình của biểu thức Expr trong những Record
thuộc một tập hợp trong Query, Form, Report
Count(Expr) Trả về số Record thuộc một tập hợp trong Query, Form, Report
Max(Expr) Trả về giá trị lớn nhất của biểu thức Expr trong những Record thuộc
một tập hợp trong Query, Form, Report
14
Sum(Expr) Trả về giá trị tổng của biểu thức Expr trong những Record thuộc tập
hợp trong Query, Form, Report
15
BÀI TẬP
I. Tổng hợp dữ liệu bằng Query
1. Cho biết mỗi khách hàng đặt mua bao nhiêu hóa đơn và tổng số tiền của các hóa đơn đó
2. Tổng số tiền của các hóa đơn trong từng tháng.
3. Cho biết mỗi khách hàng đặt mua bao nhiêu hóa đơn mặt hàng rượu với số lượng > 20
4. Cho biết các hóa đơn với tổng số tiền > 1000.
5. Đối với các sản phẩm. Hãy cho biết tổng số lượng, số lượng lớn nhất và số lượng nhỏ nhất
đã bán được.
6. Đối với mỗi sản phẩm, hãy cho biết số lượng khách hàng đặt mua, người khách đầu tiên
và người khách cuối cùng.
7. Đối với mỗi nhân viên, hãy cho biết tổng số tiền bán được trong tháng 1.
8. Đối với mỗi sản phẩm, hãy cho biết tổng số lượng bán được trong tháng 1 năm 1992
II. Crosstab query
1. Cho biết mỗi nhân viên bán được những sản phẩm nào và với số tiền của từng sản phẩm
là bao nhiêu?
2. Cho biết mỗi nhân viên bán được bao nhiêu sản phẩm và với số tiền của từng sản phẩm là
bao nhiêu?
3. Cho biết mỗi hóa đơn có những sản phẩm nào và số lượng bằng bao nhiêu.
4. Mỗi nhân viên lập được bao nhiêu hóa đơn và các hóa đơn đó lập cho khách hàng nào
5. Cho biết mỗi khách hàng đã mua những sản phẩm nào và với số lượng bằng bao nhiêu?
6. Cho biết trong năm 1992, mỗi khách hàng tại TP HCM đã mua bao nhiêu sản phẩm và với
số tiền bằng bao nhiêu?
7. Cho biết mỗi khách hàng đã đặt hóa đơn nào và tên của nhân viên lập hóa đơn đó.
8. Cho biết mỗi sản phẩm tham gia trong bao nhiêu hóa đơn và tên nhân viên lập hóa đơn đó.
9. Cho biết mỗi hóa đơn có bao nhiêu sản phẩm và số lượng từng sản phẩm
10. Cho biết mỗi khách hàng đã đặt bao nhiêu hóa đơn và sản phẩm đầu tiên của từng hóa
đơn.
III. Find Duplicates query
1. Dựa vào Table Chi Tiet Hoa Don. Hãy cho biết các hóa đơn có sản phẩm bán được từ 2
lần trở lên.
2. Dựa vào Table Hoa Don . Hãy cho biết các hóa đơn có MaKH đã đặt hóa đơn từ 2 lần trở
lên.
3. Tạo Query THSP1 chứa các Field TênSP, DonViTinh và SoLuong. Dựa vào Query này
hãy tạo query Find 1 chứa các record có TenSp được bán từ 2 lần trở lên.
IV. Find Unmatched Query
1. Liệt kê các khách hàng chưa đặt hóa đơn lần nào.
2. Liệt kê các sản phẩm chưa được bán lần nào.
3. Liệt kê các nhân viên chưa bán hàng lần nào.
16
VI. Make Table Query
1. Dựa vào Table Hoa Don, hãy tạo Table Hoa Don Thang 1 chứa các record có NgayLapHD
nằm trong tháng1 năm 1991.
2. Tạo Table THSP 1 chứa các field MaHD, TenSP, SoLuong, DonGia, Thanh tien vào các
record có TenSP là Rượu hoặc GiaVi.
3. Tạo Table THSP 2 chứa các field MaKH, TenSP, SoLuong và các record có MaKH là
RUBIMEX.
VII. Update Query
1. Hãy sửa cột Thanh Pho của Table KHACH HANG từ NhaTrang thành Khánh Hòa.
2. Hãy sửa cột MaNV của Table NHANVIEN từ 1 thành 11
3. Hãy sửa cột MaSP của Table SANPHAM từ 2 thành 12.
VIII. Append Query
1. Thêm vào cuối Table HOA DON THANG 1 các record trong table HOA DON có
NgayLapHH thuộc tháng 2 năm 1992.
2. Thêm vào cuối Table THSP1 các Record có Tên sản phẩm là nem và Táo .
3. Thêm vào cuối Table THSP2 các Record có MaKH là SAMACO.
IX. Delete Query
1. Xóa các record trong Table Hoa Don Thang 1 có NgayLapHD nằm trong tháng 2 năm
1992.
2. Xóa các record trong Table THSP1 có tên sản phẩm là Nem hoặc Rượu.
Xóa các record trong Table THSP2 có MaKH là RUBIMEX.
Các file đính kèm theo tài liệu này:
- CHUONG_4(1).pdf