Bài giảng Thống kê bằng query

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ó...

pdf16 trang | Chia sẻ: hunglv | Lượt xem: 8288 | Lượt tải: 1download
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:

  • pdfCHUONG_4(1).pdf
Tài liệu liên quan