03.chuong3 truy van du lieu - query
DESCRIPTION
quan tri acceTRANSCRIPT
![Page 1: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/1.jpg)
Giảng Viên: ThS. Nguyễn Minh ThànhEmail: [email protected] : 0908.348.469
TIN HOC ƯNG DUNG TRONG KINH DOANH 2
Chương 3
TRUY VẤN DỮ LIỆU - QUERY
![Page 2: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/2.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query
NỘI DUNG
1. Giới thiệu2. Tạo truy vấn3. Toán tử và hàm trong Access.4. Tạo vấn tin trên nhiều bảng5. Truy vấn dung tham sô.6. Truy vấn dung phep trư.7. Truy vấn gom nhom.8. Truy vấn cheo.9. Truy vấn con.10. Truy vấn với các hành đông.
2
![Page 3: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/3.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query3
1. GIỚI THIỆU 1.1. Tại sao phải dùng truy vấn
Trong thực tế việc tham khảo thông tin rất co nhiều dạng khác nhau và thường là khác với dạng dữ liệu nhập vào. Hơn nữa việc khai thác sô liệu ở bảng co nhiều khuyết điểm, do đo ta dung query sẽ thấy tiện lợi hơn nhiều. Do đo, người ta phải sử dụng môt công cụ để truy vấn thông tin đo là query. Sử dụng bảng truy vấn trong những việc sau: - Lựa chọn các trường và các mẩu tin cần thiết - Xếp sắp thứ tự mẩu tin theo trường quy định - Tham khảo dữ liệu trên nhiều bảng dữ liệu - Sử dụng bảng vấn tin làm cơ sở cho biểu mẫu hay báo cáo - Thực hiện những thay đổi trong bảng dữ liệu
![Page 4: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/4.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query4
1.2. Các loại truy vấn thông dụng : Có nhiều loại truy vấn, nhưng thông dụng nhất là các loại sau:
1. Select Query (Truy vấn chọn số liệu): được sử dụng phổ biến nhất, dùng để:
Chọn lọc các mẩu tin
Thêm các trường mới là kết quả thực hiện các phép tính trên các trường của bảng nguồn.
Đưa vào các điều kiện tìm kiếm, lựa chọn
2. Update Query (Truy vấn cập nhật): dùng để sửa đổi đồng loạt nhiều mẩu tin của một hay nhiều bảng
1. GIỚI THIỆU
![Page 5: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/5.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query5
1.2. Các loại truy vấn thông dụng
3. Delete Query (Truy vấn xoá số liệu): xoá một nhóm các mẩu tin từ một hay nhiều bảng
4. Crosstab Query (Truy vấn tham chiếu chéo): kết nhóm số liệu theo chủng loại và hiển thị số liệu dưới hình thức của một bảng tính kèm theo số liệu tổng hợp ngang và dọc
6. Make Table Query (Truy vấn tạo bảng ): cho tạo một bảng mới từ số liệu của Query
5. Append Query (Truy vấn thêm): Dùng để thêm (nối) các bảng ghi vào phần cuối của một bảng.
1. GIỚI THIỆU
![Page 6: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/6.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query6
2. TẠO TRUY VẤN
Thường dùng hai cách tạo truy vấn ứng với hai lựa chọn: in Design view và by using wizard
By using wizard: truy vấn được xây dựng bằng công cụ wizard của Access, ta chỉ việc trả lời các câu hỏi theo yêu cầu
In Design view: truy vấn được thiết kế tuỳ theo mục đích của người sử dụng. Ta thường chọn cách này. Cách thực hiện như sau:
2.1. Cách tạo truy vấn
![Page 7: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/7.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query77
Bước 1: Trong cửa sổ Database, chọn trang Queries, chọn nút New, hộp thoại New Query xuất hiện
Trang Queries
Nút New
Cửa sổ Database
Chọn Design View, OK, xuất hiện cửa sổ như sau
2. TẠO TRUY VẤN
![Page 8: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/8.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query8
Bước 2: chọn nguồn dữ liệu cho truy vấn
Cửa sổ Show Table cho chọn các bảng (Tables), các truy vấn (Queries) hoặc chọn cả bảng và truy vấn để làm nguồn dữ liệu cho truy vấn sắp tạo
Chọn nguồn dữ liệu phù hợp, chọn Add. Sau khi chọn xong tất cả, chọn Close để trở về cửa sổ Select Query
2. TẠO TRUY VẤN
![Page 9: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/9.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query 99
Phần trên: chứa các bảng và truy vấn đã chọn làm nguồn Phần dưới: gọi là lưới thiết kế QBE (Query By Example) dùng chứa các trường của truy vấn mới cần xây dựng
nhấn F6 để di chuyển giữa 2 phần
Mô tả cửa sổ Select Query
2. TẠO TRUY VẤN
![Page 10: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/10.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query10
Mô tả cửa sổ Select Query
Field: chứa tên trường hoặc biểu thức làm kết quả truy vấn Table: ghi tên nguồn dữ liệu của trường được chọn tại dòng field
Sort: chọn cách sắp xếp dữ liệu của trường
Criteria: biểu thức tiêu chuẩn chọn lọc dữ liệu
Show: chọn trường có hiển thị hay không
Or: điều kiện hoặc của biểu thức tiêu chuẩn chọn lọc dữ liệu (nếu có)
2. TẠO TRUY VẤN
![Page 11: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/11.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query11
Bước 3: Thiết kế truy vấn theo yêu cầu Đưa các trường vào truy vấn: nhấn giữ chuột kéo trường thích hợp thả vào cột của lưới thiết kế, hoặc nhắp đúp tại tên trường
Ghi chú: Cách thêm trường biểu thức:
Chọn một ô trống trên hàng Field, gõ tên trường biểu thức, dấu : (hai chấm), biểu thức.Ví dụ: Tongdiem: [Diemtoan]+[Diemly]+[Diemhoa]
Bước 4: Lập tiêu chuẩn lựa chọn (điều kiện tìm kiếm)Trong ô Criteria của trường cần lập biểu thức, gõ biểu thức Ví dụ: gõ vào L1C (tìm khách ở loại phòng L1C)
Lưu truy vấn vừa tạo : Gọi lệnh File / Save
2. TẠO TRUY VẤN
![Page 12: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/12.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query12
12
Trong cửa sổ thiết kế truy vấn
Gọi lệnh Query / Run (hoặc chọn biểu tượng trên thanh công cụ)
Hoặc chọn biểu tượng View
Hoặc chọn Design View Design View
2.2. Thực hiện truy vấn
2. TẠO TRUY VẤN
![Page 13: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/13.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query1313
2.3. Hiệu chỉnh truy vấn Trong cửa sổ Database, chọn tên truy vấn, chọn nút Design để mở cửa sổ thiết kế. Thực hiện hiệu chỉnh theo yêu cầu
nút Design
2. TẠO TRUY VẤN
![Page 14: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/14.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
14
Toán tử toán học
+, -, *, /, luỹ thừa (^) Thương số nguyên (chia lấy phần nguyên): \ Số dư (chia lấy phần dư): Mod
Toán tử logic
Not: cho kết quả ngược lại (Not đúng= sai, Not sai= đúng) And (và): cho kết quả đúng khi tất cả điều kiện đúng, nếu một điều kiện nào đó sai thì cho kết quả sai Or (hoặc): cho kết quả đúng khi có ít nhất một điều kiện đúng, nếu tất cả điều kiện sai thì cho kết quả sai
![Page 15: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/15.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query15
Toán tử so sánh
<, <=, >, >=, =, <> (không bằng)
Toán tử so sánh đặc biệt
Between ... And ... (Nằm trong khoảng)
Like (gần giống):
• Vd: [slg] Between 150 And 200
• (*) Tổ hợp bất kỳ - “Anh Ban” Like “*B*”
• (?) Ký tự bất kỳ - “Access” Like “???e*”
• (#) Ký số bất kỳ - 2001 Like “##0#”: True
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
![Page 16: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/16.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query16
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
![Page 17: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/17.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query17
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
![Page 18: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/18.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query18
Toán tử so sánh đặc biệt
Null, Not null: kiểm tra dữ liệu đã có hay chưa
• Vd: Để tìm các thí sinh thiếu Ngày sinh, ta đưa giá trị Null vào ô Criteria của trường [Namsinh]
• Vd: Để tìm các khách hàng đã có địa chỉ, ta đưa giá trị Not null vào ô Criteria của trường [Diachi]
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
![Page 19: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/19.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query 19
Toán tử ghép nối & (nối chuỗi)
• “Đà” & “ Nẵng”: “Đà Nẵng”
+ (cộng với)
• 100 & “năm cô đơn”: 100 năm cô đơn
• “Con thuyền” + “không bến”: Con thuyền không bến• 1001 + “đêm” : Type mismatch (kết quả sai)
• 123 & 456: 123456
• Date() & “Nhâm Ngọ”: 14/6/2002 Nhâm Ngọ
• “Vĩ tuyến” & 90/2 & “ngày đêm”: Vĩ tuyến 45 ngày đêm
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
![Page 20: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/20.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query20
Hằng trị (constants)
True/ False/ Null: hằng trị đúng/ sai/ rỗng
Dấu rào (Delimiter)
“...”: Rào giá trị chuỗi
• Vd: “43 Thanh Thuỷ - Đà Nẵng”
[ ... ] : Rào tên biến
• Vd: [SoLuong] * [DonGia]
#../../..#: Rào giá trị ngày• #23/04/2000#
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
![Page 21: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/21.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query2121
Điều kiện cùng thoả mãn/hoặc thoả mãn
Các điều kiện viết cùng trên dòng Criteria là các điều kiện đồng thời thoả mãn
Ví dụ: để tìm các khách ở loại phòng “L1C” và đến trong tháng 6, trên dòng Criteria, ta ghi
Điều kiện ghi trên cùng 1 dòng
Kết quả
VÍ DU
![Page 22: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/22.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query
VÍ DU
2222
Các điều kiện viết trên dòng Criteria và dòng Or là các điều kiện không cần đồng thời thoả mãn
Ví dụ: để tìm các khách ở loại phòng “L1C” hoặc đến trong tháng 6, trên dòng Criteria và dòng Or, ta ghi
Kết quả
Điều kiện ghi trên dòng Criteria và dòng Or
![Page 23: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/23.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query23
Phép so sánh Is Null và Is Not Null Is Null được dung để hiển thị những mẩu tin mà trên trường chỉ định không co dữ liệu. Is Not Null thì ngược lại Ví dụ: cho bảng HOCVIEN co nôi dung như sau:
Hiện thị những học viên chứa co năm sinh
VÍ DU
![Page 24: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/24.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query24
3.5. Toán tử In Toán tử IN để xác định giá trị trong môt danh sách chỉ định Ví dụ: Hiển thị những học viên ở các lớp KT1, KT2 và KT4
Hoặc
VÍ DU
![Page 25: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/25.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query25
VÍ DUPhép AND và OR - Mệnh đề OR được viết trên 2 dòng(môt hoặc nhiều côt) - Mệnh đề AND được viết trên môt dòng(nhiều côt) Ví dụ 1:Hiển thị những mặt hàng co đơn giá >=5000 và sô lượng >=100
Ví dụ 2: Hiển thị những mặt hàng co đơn giá >=5000 hoặcsô lượng >=100
![Page 26: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/26.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query26
VÍ DU
Ví dụ 3:Hiển thị những mặt hàng co đơn giá >=5000 hoặc đơn giá <=1000
Hoặc
![Page 27: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/27.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query27
Hàm thao tác trên dữ liệu kiểu Text
• LEFT(chuỗi,n): Trích n ký tự bên trái chuỗi.
• RIGHT(chuỗi,n): Trích n ký tự bên phải chuỗi.
• MID(chuỗi, vị trí, n): Rút trích n ký tự kể tư vị trí chỉ định
• LEN(chuỗi): Trả về giá trị là chiều dài chuỗi
• LCASE(chuỗi): Chuyển thành chuỗi thường
• UCASE(chuỗi): Chuyển thành chuỗi hoa
• TRIM(chuỗi): cắt bỏ khoảng trắng 2 đầu
• LTRIM(chuỗi): Cắt bỏ khoảng trắng bên trái
• RTRIM(chuỗi): cắt bỏ khoảng trắng bên phải.
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
![Page 28: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/28.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query28
Hàm thao tác trên dữ liệu kiểu date • Trong việc quản lý dữ liệu, việc thông kê dữ liệu theo thời
gian là môt thao tác khá thường xuyên. Các hàm liên quan đến thời gian
• Datepart(“định dạng”, biểu thức ngày): Cho kết qủa theo phần định dạng của biểu thưc ngày Trong đo, ký hiệu phần định dạng mang môt trong các giá trị: “y”: ngày trong năm (day of year) “w”: ngày trong tuần (weekday) “d”: ngày trong tháng (Day of month) “m”: tháng trong năm (month) “q”: quí (quarter) “yyyy”: năm (year) “ww”: tuần trong năm (week of year) “h”: giờ “n”: phút “s”:giây
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
![Page 29: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/29.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query29
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.• Day(dữ liệu trích) = DATEPART(“d”,dữ liệu trích)
• Month(Dữ liệu trích) = DATEPART(“m”,dữ liệu trích)
• Year(Dữ liệu trích) = DATEPART(“yy”,dữ liệu trích)
• Date(): lấy ngày của hệ thông
• Now(): lấy ngày giờ của hệ thông
• WeekDay(biểu thức ngày): cho kết quả là sô thứ tự của biểu
thức ngày. Theo mặc định 1 là chủ nhật, 2 là thứ 2…
• DateDiif(“Định dạng”, biểu thức ngày BĐ, biểu thức ngày KT):
Cho khoảng giữa hai chuỗi ngày theo phần định dạng.
• DateAdd(“định dạng”, n, biểu thức ngày): công thêm n đơn vị
theo phần định dạng vào biểu thức ngày.
• Hour(Biểu thức giờ): cho kết quả là giờ của biểu thức giờ
• Minute(Biểu thức giờ): cho kết quả là phút của biểu thức giờ
• Second(Biểu thức giờ): cho kết quả là giây của biểu thức giờ
![Page 30: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/30.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query30
Ví dụ : Hiện thị những học viên sinh trước 1986
Hoặc
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
![Page 31: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/31.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query31
Ví dụ : Lọc những hoá đơn tháng 10
Hoặc
Hoặc
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
![Page 32: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/32.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query32
Những tính toán khác
Hàm IIF(<Ðiều kiện>,<Giá trịv1>,< Giá trị 2>)
Nếu <Ðiều kiện> nhận giá trị true thì hàm trả về <Giá trị 1>, ngược
lại trả về <Giá trị 2>.
Ví dụ 1: Giả sử bảng dữ liệu học viên co các trường: MaHV, HoTen,
Toan, Van. Ta muôn tính toán thêm các côt TB và XepLoai
Ô xếp loại co nôi dung như sau: XepLoai:IIF(TB>=8,”gioi”,IFF(TB>=6.5,”kha”,IFF(TB>=5,”TB”,”YEU”)))
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
![Page 33: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/33.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query33
Ví dụ : Cho bảng
LUONG(MaNV,HoTen,MaPB,MucLuong,NgayCong)
Tính tiền thưởng theo yêu cầu:
Ngaycong>=20: thưởng 40000
Ngaycong>=25: thưởng 100000
Thuong: IIF(NgayCong>=25,100000,IFF(NgayCong>=20,40000,0))
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
![Page 34: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/34.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query34
3.6. Các thông báo lỗi “Can’t have aggregate function in WHERE clause”
Không thể chỉ định hàm thông kê trong mệnh đề WHERE (Criteria)
“You can’t set criteria before you add a field or expression to the field row”. Lỗi xuất hiện khi bạn chỉ định môt tiêu chuẩn vào côt mà chưa co chỉ định tên trường(hay biểu thức trường) vào dòng field
“Data type mismatch in critetia expression” Sai về kiểu dữ liệu trong biểu thức tiêu chuẩn, chẳng hạn như so sánh môt trường sô number với tiêu chuẩn là chuỗi
3. TOÁN TỬ VÀ HÀM TRONG ACCESS.
![Page 35: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/35.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query35
4.TẠO VẤN TIN TRÊN NHIỀU BẢNG
Thông thường trong các bảng vấn tin thường lấy dữ liệu trên nhiều bảng dữ liệu. Ví dụ: ta muôn xem điểm của môt học viên ở lớp nào (Trong chương 2). Thì ít nhất ta phải lấy hai bảng là HOCVIEN và DIEM - Muôn tạo bảng vấn tin lấy dữ liệu trên bảng,ta chỉ định các bảng cần thiết với lưu ý là phải bảo đảm các môi quan hệ giữa chúng.
![Page 36: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/36.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query36
4.TẠO VẤN TIN TRÊN NHIỀU BẢNG
4.1. Các loại liên kết
- Liên kết chặt (Inner Join hay Equi Join): là kiểu liên kết mà dữ liệu hiển thị trong bảng vấn tin là những mẩu tin
co quan hệ với nhau phải tồn tại trên cả hai bảng
- Liên kết không chặt (Outer Join): là kiểu liên kết mà dữ liệu được đưa vào bảng vấn tin là tất cả những mẩu tin
của bảng thứ nhất (ngay cả khi no không co mẩu tin tương ứng ở bảng thứ 2) và những mẩu tin của bảng thứ
2 co tương ứng trong bảng thứ nhất
- Tự liên kết (Self Join): là kiểu liên kết của môt bảng dữ liệu với chính no (phải thêm bảng dữ liệu này 2 lần)
![Page 37: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/37.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query37
4.TẠO VẤN TIN TRÊN NHIỀU BẢNG
4.2. Chỉ định mối liên kết giữa 2 bảng - Trong nhiều trường hợp, khi ta thêm các bảng dữ liệu thì sẽ hiển thị các môi quan hệ đã khai báo tư cửa sổ thiết lập quan hệ.
- Ngay cả trong trường hợp, hai bảng chưa thiết lập môi quan hệ với nhau thì Access cũng cô thiết lập môi quan hệ giữa hai trường cung tên, co kiểu dữ liệu thích hợp.
- Muôn chỉ định loại liên kết (Join Type), ta nhấp cào môi qua hệ thì xuất hiện hôp thoại sau:
![Page 38: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/38.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query38
4.TẠO VẤN TIN TRÊN NHIỀU BẢNG
![Page 39: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/39.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query39
- Quan hệ chặt: Hiển thị những mẩu tin co giá trị bằng nhautrên cả 2 trường quan hệ của 2 bảng.
- Quan hệ không chặt thứ 1: Hiển thị tất cả các mẩu tin trên bảng HoSoKH cho du không co mẩu tin tương ứng trên bảng PhieuThu và những mẩu tin của bảng PhieuThu co mẩu tin với bảngHoSoKH
- Quan hệ không chặt thứ 2: Hiển thị tất cả các mẩu tin trên bảng PhieuThu cho du no không co mẩu tin tương ứng trên bảng HoSoKH và những mẩu tin của bảngHoSoKH co mẩu tin với bảngPhieuThu
4.TẠO VẤN TIN TRÊN NHIỀU BẢNG
![Page 40: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/40.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query40
4.TẠO VẤN TIN TRÊN NHIỀU BẢNG4.3. Các ví dụ a. Liên kết chặt Truy xuất những mẩu tin tư môt bảng dữ liệu co mẩu tin tương ứng trong bảng thứ 2 mới đưa vào truy vấn. Ví dụ: Cho 2 bảng
![Page 41: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/41.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query41
4.TẠO VẤN TIN TRÊN NHIỀU BẢNGVấn tin hiển thị thông tin khách hàng gồm các trường: SoPT, Ngay, MaKH, TenKH, SoTien
![Page 42: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/42.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query42
4.TẠO VẤN TIN TRÊN NHIỀU BẢNGb. Ví dụ về liên kết không chặt Ví dụ in ra những khách hàng, kể cả những khách hàng không co phiếu thu. Ta phải sử dụng kiểu liên kết không chặt tư HosoKH ->PhieuThu và chỉ định lưới thiết kế
![Page 43: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/43.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query43
4.TẠO VẤN TIN TRÊN NHIỀU BẢNGKết quả:
![Page 44: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/44.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query44
4.TẠO VẤN TIN TRÊN NHIỀU BẢNGLưu ý: Khi 2 bảng không co môi liên kết thì sẽ tạora sự lặp lại dữ liệu. Chẳng hạn bảng thứ 1 co n mẩu tin, bảng thứ 2 co m mẩu tin thì bảng kết quả co m x n mẩu tin.
![Page 45: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/45.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query45
4.TẠO VẤN TIN TRÊN NHIỀU BẢNGGiả sử co truy vấn sau:
Kết quả:
![Page 46: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/46.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query46
5.TRUY VẤN DÙNG THAM SỐ
-Là truy vấn mà tiêu chuẩn tính toán được thay đổi cho mỗi lần chạy.- Vấn tin dạng này rất thuận lợi để làm cơ sở cho mẫu biểu hay báo biểu. - Tạo bảng vấn tin co tham sô: muôn tạo bảng vấn tin co tham sô, ta tạo tương tự như bảng vấn tin bình thường như đã nêu ở trên, chỉ co môt sựkhác biệt là ta cho xuất hiện môt thông báo chắc người dung nậhp dữ liệu khi chạy bảng vấn tin. - Muôn vậy ta chỉ định môt tham sô. - Môt tham sô (parameter) là môt chuỗi các ký tự bao trong ngoặc vuông, không trung với môt trong các trường của bảng dữ liệu đang được sử dụng.
![Page 47: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/47.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query47
5.TRUY VẤN DÙNG THAM SỐVí du 1 : Hiển thị phiếu thu của khách hàng chỉ định khi chạy bảng vấn tin
Khi ta chạy bảng vấn tin này thì sẽ yêu cầu nhập giá trị để làm tiêu chuẩn lọc mã khách hàng(giả sử A02):
![Page 48: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/48.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query48
5.TRUY VẤN DÙNG THAM SỐ
- Ngoài ra ta co thể dung LIKE để so sánh môtvài ký tự đầu giông nhau, chẳng hạn ta co thể viết lại. - Khi đo ta nhập A vào khung Parameter sẽ được hiểu là A* Hoặc ta co thể viết dòng tiêu chuẩn: LIKE [nhap ma KH: ], thì khi đo ta phải nhập A*
Hoặc ta co thể viết dòng tiêu chuẩn: LIKE [nhap ma KH: ], thì khi đo ta phải nhập A*
![Page 49: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/49.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query49
5.TRUY VẤN DÙNG THAM SỐ
![Page 50: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/50.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query
5.TRUY VẤN DÙNG THAM SỐ
50
Lưu ý: Khi gõ môt tên trong cặp ngoặc vuông để cung cấp giá trị làm tiêu chuẩn hay tính toán mà không trung với các trường của các bảng dữ liệu đang dung thì no hiểu đo là môt tham sô.
![Page 51: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/51.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query51
6.TRUY VẤN GOM NHÓM
Để tạo vấn tính dạng thông kê, gom nhom: Tư cửa sổ thiết kế View/Total hay biểu tượng để thêm dòng Total trên khung thiết kế
![Page 52: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/52.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query52
6.TRUY VẤN GOM NHÓM
6.1. Các phép thống kê •SUM: Tính tổng môt trường sô chỉ định
•COUNT: Đếm sô mẩu tin đã co dữ liệu trên trường sô chỉ định
•AVG: Tính trung bình môt trường sô chỉ định
•MIN: Tính giá trị nhỏ nhất của trường sô chỉ định
•MAX: Tính giá trị lớn nhất của trường sô chỉ định
•FIRST: Trị đầu tiên của trường chỉ định
•LAST: Trị cuôi cung của trường chỉ định
•STDDEV: Đô lệnh chuẩn của trường sô chỉ định
![Page 53: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/53.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query53
6.1. Các phép thống kê •VAR: Phương sai của trường sô chỉ định
•GROUP BY: Chỉ định trường phân nhom
•WHERE: Chỉ địng trường chứa tiêu đề lựa chọn
•Expression: Chỉ định expression trên dòng Total khi biểu thức trên
dòng field của côt đo đã là môt biểu thức mang tính thông kê, chẳng
hạn như TongTien:Sum(SoTien), SLHV:count(MaHV)
6.TRUY VẤN GOM NHÓM
![Page 54: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/54.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query54
6.TRUY VẤN GOM NHÓMVí dụ: Cho bảng HOADON
![Page 55: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/55.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query55
6.TRUY VẤN GOM NHÓMVí dụ: Cho bảng HOADON
![Page 56: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/56.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query56
6.TRUY VẤN GOM NHÓM
Trong trường hợp này co thể dung Group By thay cho where. Tuy nhiên hình thức kết quả co khác nhau. Hình thức where thì không được bậc show, trong khi đo Group by bậc hay không bậc đều được cả. Nếu bậc thì co kết quả sau:
![Page 57: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/57.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query57
6.TRUY VẤN GOM NHÓM
6.2. Thống kê theo nhóm Môt yêu cầu khác thường được sử dụng là dữ liệu được thông kê theo nhom dựa trên môt (vài) trường chỉ định
![Page 58: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/58.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query58
6.TRUY VẤN GOM NHÓM
6.3. Chỉ định nhiều trường Group By Trong trường hợp muôn phân nhom theo nhiều trường thì ta chỉ định Group By trên nhiều trường. Khi đo chỉ những mẩu tin nào co giá trị giông nhau trên tất cả các trường đo mới được xem là cung nhom
![Page 59: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/59.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query59
6.TRUY VẤN GOM NHÓM
Ví dụ 2:Giả sử trong MaLop co 2 ký tự đầu là khoa học, 2 ký tự tiếp theo là ngành học, ký tự thứ 5 là sô thứ tự lớp (chẳng hạn 05KT1, 04KT2,…) Cho bảng HOCVIEN sau:
![Page 60: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/60.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query60
6.TRUY VẤN GOM NHÓM
![Page 61: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/61.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query61
6.TRUY VẤN GOM NHÓM
6.4. Khai báo giới hạn trong tính toán theo nhóm
Ở đây ta cần phân biệt tiêu chuẩn tác đông đến trước hay sau khi tính tổng công theo phân nhom.
a) Giới hạn trước khi cộng nhóm:
- Cách thức này sẽ lọc những thông tin thỏa mãn rồi mới thông kê.
Ta chỉ định Where trong ô Total, chỉ định tiêu chuẩn vào ô Criteria của trường này (nhưng không đánh dấu hiển thị côt này)
![Page 62: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/62.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query62
6.TRUY VẤN GOM NHÓM
Ví dụ: Giả sử cho bảng ChiTietHD như sau:
![Page 63: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/63.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query63
6.TRUY VẤN GOM NHÓM
![Page 64: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/64.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query64
6.TRUY VẤN GOM NHÓMb)Giới hạn sau khi cộng nhóm: - Cách này sẽ thông kê tất cả các mẫu tin trong bảng, và chỉ hiển thị những dòng kết quả thỏa mãn điều kiện chỉ định. - Ở cách này ta chỉ Sum vào ô Total và tiêu chuẩn vào ô Criteria của cung môt trường. Ví dụ: Hiển thị những mặt hàng co tổng sô lượng <20
![Page 65: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/65.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query65
6.TRUY VẤN GOM NHÓM
![Page 66: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/66.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query66
6.TRUY VẤN GOM NHÓM6.5. Chỉ định Expression - Trong đa sô trường hợp, ta chỉ định phep toán thông kê trên dòng Total. - Ở đây ta chỉ định phep toán thông kê trên dòng Field rồi chỉ định expression trên dòng Total
![Page 67: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/67.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query67
6.TRUY VẤN GOM NHÓM6.5. Chỉ định Expression - Trong đa sô trường hợp, ta chỉ định phep toán thông kê trên dòng Total. - Ở đây ta chỉ định phep toán thông kê trên dòng Field rồi chỉ định expression trên dòng Total
![Page 68: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/68.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query68
6.TRUY VẤN GOM NHÓM6.6. Những tính toán hỗ trợ khác
Hiển thị thông tin: MaKH, Q1, Q2, Q3, Q4
![Page 69: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/69.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query69
6.TRUY VẤN GOM NHÓM
6.7. Hàm kết hợp Cú pháp chung:
Tên hàm(“Tên field”,”tên table/query”[,”điều kiện”}) Công dụng:
DAVG: Tính trung bình DCOUNT: Đếm DFIRST: Cho giá trị tìm thấy đầu tiên DLAST: Cho giá trị tìm thấy cuôi cung DLOOKUP: Trả về giá trị tìm thấy DMAX: Tìm giá trị lớn nhất DMIN: Tìm giá trị nhỏ nhất DSUM: Tính tổng giá trị trên field
![Page 70: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/70.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query70
6.TRUY VẤN GOM NHÓM
6.8. Các thông báo lỗi -Nếu ta chỉ định môt phep thông kê (SUM, AVG…) mà không bậc dòng Total thì sẽ thông báo lỗi “you tried to execute a query that doesn’t include the specified expression “…” as part of an aggregrate function”
-Khi ta chỉ định Where trên dòng Total thì không được bậc Show của côt đo. Nếu bậc thì Access sẽ báo lỗi “Microsoft Access can’t display the field for which you enter where in the Total row..”
![Page 71: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/71.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query71
7.TRUY VẤN CHÉO
7.1. Tạo truy vấn CrossTab bằng Design view + Tư cửa sổ Database, chọn Design View để hiển thị khung thiếtkế như đã đề cập + Gọi Query/ CrossTab để chỉ loại bảng vấn tin
+ Chỉ định Group by vào các trường phânnhom và chỉ định phep toán vào trường thông kê + Chỉ định Row Heading vào các trường cần làm tiêu đề dòng, Column Heading vào (môt) trường làm tiêu đề côt và Value trường thông kê vào khung thiết kế.
![Page 72: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/72.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query72
7.TRUY VẤN CHÉO
![Page 73: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/73.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query73
7.TRUY VẤN CHÉO
![Page 74: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/74.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query74
7.TRUY VẤN CHÉO
Thông báo lỗi:“to create a Crosstab query, you must specify one more Row Heading optio, one Column Heading option and one value option”.
Để tạo mô CrossTab Query, ta chỉ định môt hay nhiều trường làm Row Heading, nhưng chỉ được chỉ định môt trường làm Column Heading và môt trường là value, nghĩa là không được phep chỉ định nhiều trường làmColumn Heading hay Value.
![Page 75: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/75.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query75
7.TRUY VẤN CHÉO
7.2. Tạo bằng cách dùng Wizard - Bước 1: Tư cửa sổ Database, chọn New xuất hiện hôp thoại
![Page 76: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/76.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query76
7.TRUY VẤN CHÉO
![Page 77: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/77.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query77
7.TRUY VẤN CHÉO
![Page 78: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/78.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query78
7.TRUY VẤN CHÉO
![Page 79: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/79.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query79
7.TRUY VẤN CHÉO
![Page 80: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/80.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query80
7.TRUY VẤN CHÉO
Bước 6:
![Page 81: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/81.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query81
7.TRUY VẤN CHÉO
![Page 82: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/82.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query82
8. CÁC TRUY VẤN KHÁC
8.1. Truy vấn tự liên kết (Self-join)- Khi muôn tạo truy vấn thỏa mãn đồng thời 2 giá trị trên 2 mẩu tin của cung môt trường. -Ví dụ tìm hoá đơn vưa chứa mặt hàng “X83” và “X92” (hai mặt hàng nêu ra trên cung hoá đơn). Ta sử dụng liên kết SelfJoin: Mở bảng dữ liệu 2 (hay nhiều) lần, chỉ định trường chung và chỉ định các giá trị lần lượt vào các trường cung tên trường nhưng tên các bảng được đặt lần lượt thêm các cô 1, 2, 3…
![Page 83: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/83.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query83
8. CÁC TRUY VẤN KHÁC
![Page 84: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/84.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query84
8. CÁC TRUY VẤN KHÁC
![Page 85: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/85.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query85
8. CÁC TRUY VẤN KHÁC
![Page 86: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/86.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query86
8. CÁC TRUY VẤN KHÁC
8.2. Truy vấn không có trong - Find Unmatched Query
![Page 87: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/87.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query87
8. CÁC TRUY VẤN KHÁC
8.3. Truy vấn trùng - Find Duplicates Query
![Page 88: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/88.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query88
8. CÁC TRUY VẤN KHÁC
Trong thực tế co thể co những yêu cầu mà không dung môt bảng vấn tin sẽ khá phức tạp và rất kho kiểm soát. Khi đo ta dung phôi hợp những bảng vấn tin. Ví dụ: Cho bảng ChiTietHD,HOSOKH và HOADON như sau
8.4. Truy vấn phối hợp
![Page 89: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/89.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query89
8. CÁC TRUY VẤN KHÁC
Yêu cầu: Hiển thị những khách hàng không mua mã hàng “X83” Thực hiện qua 2 bước - Bước 1: Tạo bảng vấn tin lọc những khách hàng co mua mã hàng “X83” (đặt tên bảng vấn tin là M83)
![Page 90: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/90.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query90
8. CÁC TRUY VẤN KHÁC
![Page 91: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/91.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query91
9.TRUY VẤN CON
Ví dụ 1: Cho bảng HOCVIEN(MaHV, HoTen, MNgaySinh, Phai, MaLop) Yêu cầu 1: Hiển thị những học viên gồmcác thông tin: MaHV, Hoten, NgaySinh, MaLop
SELECT MaHV, Hoten, NgaySinh, MaLop FROM HOCVIEN
Yêu cầu 2: Hiển thị những học viên co MaLop là “KT1”, thông tin gồm MaHV, Hoten, NgaySinh, MaLop
SELECTMaHV, Hoten, NgaySinh, MaLop FROMHOCVIEN WHERE MaLop = “KT1”
![Page 92: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/92.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query92
9.TRUY VẤN CON
- Bảng vấn tin con được dung như môt tiêu chuẩn lọc dữ liệu (trongmôt yêu cầu thực tế). Chẳng hạn như hiển thị những nhân viênco mức lương lớn hơn mức lương trung bình của các nhân viên trong cơ quan, hay hiển thị những học viên co điểm toán cao nhất của tưng lớp … Ví dụ 2:Cho bảng LUONG(MaNV, HoTen, MaBP, ChucVu, MucLuong, NgayCong) Yêu cầu: Hiển thị những nhân viên co lương trung bình cao nhất
![Page 93: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/93.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query93
9.TRUY VẤN CON
![Page 94: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/94.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query94
10.TRUY VẤN VỚI CÁC HÀNH ĐỘNGNgoài các bảng vấn tin dung để xem dữ liệu còn co các bảng vấn tin dung để cập nhật, thêm, xoá, sửa dữ liệu… được gọi là bảng vấn tin hành đông.
![Page 95: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/95.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query9595
10.1. Truy vấn cập nhật (Update Query)
Các bước xây dựng truy vấn cập nhật
Chọn nguồn dữ liệu (các bảng hoặc truy vấn khác) Chọn lệnh Query / Update Query, hiện thêm hàng Update to trong lưới QBE Đặt biểu thức vào ô Update To của trường cần sửa Criteria: ghi điều kiện tương ứng
10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG
![Page 96: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/96.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query96
Ví dụ: trong hình dưới, khi thực hiện Query thì đơn giá mặt hàng Gạo sẽ giảm 1000
10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG
![Page 97: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/97.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query9797
10.2. Truy vấn xoá (Delete Query) Chọn nguồn dữ liệu (các bảng hoặc truy vấn khác) Chọn lệnh Query / Delete Query, hiện thêm hàng Delete trong lưới QBE
Kéo dấu * của bảng muốn xoá vào dòng Field, từ khoá From xuất hiện trên dòng Delete
Kéo trường dùng để lập điều kiện vào dòng Field, từ khoá Where xuất hiện trên dòng Delete
10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG
![Page 98: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/98.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query98
Ví dụ: trong hình dưới, khi thực hiện Query thì các mẩu tin có Số hoá đơn là H01/KD sẽ bị xoá
10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG
![Page 99: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/99.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query99
10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG
Ví dụ: Thêm những mẩu tin co sô tiền<500000 tư HoaDon vào PhieuThu - Bước 1: Tư cửa sổ Database, chọn New/ Design View và chỉ định cung cấp dữ liệu qua khung Show Table. Ở đây ta chọn bảng HoaDon - Bước 2: gọi menu Query/Append Query và chỉ định tên bảng dữ liệu vào ô Table Name, rồi OK
10.3 Truy vấn Thêm (Append Query)
![Page 100: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/100.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query100
10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG
Bước 3: Trong lưới thiết kế cần chỉ định những trường cần sao chep sang, thông thường ta phải chỉ định tên trường làm khoá chính của bảng nhận dữ liệu. Nếu trường chỉ định trên lưới thiết kế tồn tại trên bảng nhận dữ liệu thì no tự đông đưa vào. Nếu trường đo không co trường tương ứng ta phải chỉ định vào.
![Page 101: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/101.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query101
10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG
-Bước 4: Khi ta thực hiện chạy (run) câu vấn tin này sẽ xuất hiện thông báo nhắc nhở
-Nếu ta chọn Yes thì sẽ chấp nhận thêm 4 dòng vào bảng PhieuThu. Tuy nhiên không phảI lúc nào cũng thành công. Nếu không thành công thì sẽ xuất hiện
![Page 102: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/102.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query102
10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG10.4. Make Table Query Ta co thể dung bảng vấn tin để tạo môt bảng dữ liệu, chẳng hạn như để lưu sô liệu đã co. Muôn vậy ta thao tác như sau: -Bước 1: Tư cửa sổ Database, chọn New/ Design View và chỉ định cung cấp dữ liệu. - Bước 2: gọi menu Query/ Make Table Query và chỉ định tên bảng dữ liệu vào ô Table Name, rồi OK
- Bước 3: chỉ định các trường vào dòng Field
![Page 103: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/103.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query103
10.TRUY VẤN VỚI CÁC HÀNH ĐỘNGVí dụ: Giả sử co 2 bảng HocVien(MaHV, HoTen, NgaySinh, Lop) và KetQua(MaHV,MaMH, Diem) Tạo bảng dữ liệu bảng tên “DiemTB” tư 2 bảng dữ liệu đã co Bước 1: Tạo bảng vấn tin co nôi dung như sau
![Page 104: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/104.jpg)
28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query104
10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG- Bước 2: Gọi menu Query/ Make Table Query rồi gõ tên vào ô Table Name
-Bước 3: Thực hiện câu vấn tin này sẽ tạo môt bảng mới co tên DiemTB
Lưu ý: Trong Append Querythì bảng nhận dữ liệu là bảng đã co (nếu chưa co thì thông báo lỗi), còn trong Make – Table Query thì bảng nhận dữ liệu là chưa co (nếu co thì nhắc nhở ghi chồng lên hay không).
![Page 105: 03.Chuong3 Truy Van Du Lieu - Query](https://reader034.vdocuments.net/reader034/viewer/2022042717/563db80d550346aa9a901d17/html5/thumbnails/105.jpg)
TRƯỜNG ĐẠI HOC TÔN ĐƯC THẮNG
KHOA QUẢN TRỊ KINH DOANH