Access2
Chia sẻ bởi Nguyễn Thanh Tuấn |
Ngày 10/05/2019 |
50
Chia sẻ tài liệu: access2 thuộc Tin học 12
Nội dung tài liệu:
Chương 3: Truy vấn
Khái niệm truy vấn:
Truy vấn là một công cụ cho phép đặt câu hỏi với dữ liệu trong bảng dữ liệu trong CSDL.
Loại truy vấn thông dụng nhất là truy vấn chọn (Select Query )
Ví dụ:
Cho 2 bảng dữ liệu KHOHANG (MAHANG, TENHANG, GIA) và BANHANG(MAHANG, TENKHACH, SOLUONG, NGAYMUA).
Hãy hiển thị những khách hàng mua hàng trong tháng 7 bao gồm các thông tin: MAHANG, TENHANG, GIA, TENKHACH
Sau khi thực hiện truy vấn, dữ liệu thỏa mãn yêu cầu được rút ra và tập hợp vào một bảng kết qủa
Các loại truy vấn trong Access
Select Query : Truy vấn chọn
Crosstab Query : Truy vấn tham khóa chéo (Thể hiện dòng và cột)
Action Query : Truy vấn hành động gồm
Truy vấn tạo bảng (make table Query )
Truy vấn nối (append Query )
Truy vấn cập nhật ( Update Query )
Truy vấn xóa dữ liệu ( Delete Query )
SQL Query : Truy vấn được viết bởi ngôn ngữ SQL.
Pass throught Query : Gởi các lệnh đến một CSDL SQL như Microsoft SQL server.
Sự cần thiết của truy vấn
Khi đứng trước một vấn đề nào đó trong CSDL, nếu sử dụng công cụ truy vấn thì có thể thực hiện được các yêu cầu sau:
Lựa chọn các trường cần thiết.
Lựa chọn những bản ghi.
Sắp xếp thứ tự các bản ghi.
Lấy dữ liệu chứa trên nhiều bảng khác nhau trong CSDL.
Thực hiện các phép tính.
Sử dụng truy vấn làm nguồn dữ liệu cho một biểu mẫu (Form), báo cáo (report) hoặc một truy vấn khác (Query)
Thay đổi dữ liệu trong bảng.
Các chế độ hiển thị truy vấn
Design View: Màn hình truy vấn chứa hai phần, phần thứ nhất chứa các bảng (hoặc truy vấn) tham gia truy vấn, phần thứ hai gọi là vùng lưới QBE (Query By Example).
Datasheet View: Sử dụng chế độ này để xem kết quả.
SQL view: Sử dụng chế độ này để xem mã lệnh của truy vấn đang tạo
Design view
Datasheet view
SQL view
Tạo truy vấn
Chọn tab Create/ Query Design
Trong bảng Show Table chọn tables để hiển thị các bảng, chọn các bảng tham gia vào truy vấn và nhấn nút Add, sau đó nhấn Close
Đưa các trường từ các bảng vào tham gia truy vần bằng cách kéo các trường và thả vào hàng Field trong vùng lưới QBE
Trong hàng Sort: Sắp xếp dữ liệu (nếu có)
Trong hàng Criteria đặt tiêu chuẩn (nếu có)
Lưu truy vấn.
Lưu ý:
Mỗi truy vấn có:
Tối đa là 32 bảng tham gia.
Tối đa là 255 trường.
Kích thước tối đa của bảng dữ liệu (do truy vấn tạo ra) là 1 gigabyte.
Số trường dùng làm khóa sắp xếp tối đa là 10.
Số truy vấn lồng nhau tối đa là 50 cấp.
Số ký tự tối đa trong ô của vùng lưới là 1024.
Số ký tự tối đa trong dòng lệnh SQL là 64000.
Số ký tự tối đa trong tham số là 255.
Thay đổi thứ tự trường
Đưa con trỏ vào thanh chọn sao cho con trỏ biến thành hình mũi tên trỏ xuống
Click để chọn trường
Drag để thay đổi vị trí.
Xóa trường
Đưa con trỏ vào thanh chọn sao cho con trỏ biến thành hình mũi tên trỏ xuống
Click để chọn trường
Nhấn phím delete (Nếu muốn xoá tất cả các trường trong vùng lưới QBE: chọn Edit/clear grid)
Xem kết quả truy vấn:
Tại cửa sổ Database chọn tên truy vấn rồi chọn Open, hoặc trong khi thiết kế truy vấn thực hiện lệnh View/datasheet View.
Đổi tiêu đề cột trong truy vấn:
Đổi tên tiêu đề cột trong truy vấn mục đích là làm cho bảng kết xuất dễ đọc hơn (Trừ khi đã quy định thuộc tính Caption).
Muốn đổi tên tiêu đề cột thực hiện theo các bước sau:
Mở truy vấn ở chế độ Design View
Chọn vào bên trái ký tự đầu tiên của tên trường trong vùng lưới QBE
Gõ vào tên mới, theo sau là dấu 2 chấm (:)
Che dấu hoặc hiển thị các trường trong bảng kết quả:
Tại hàng Show ứng với trường cần che dấu chúng ta không chọn mặt dù nó vẫn tồn tại, vẫn tham gia truy vấn.
Thiết kế truy vấn chọn (Select query)
Định nghĩa: là loại truy vấn được chọn lựa, rút trích dữ liệu từ các bảng dữ liệu thỏa mãn một hoặc nhiều điều kiện nào đó
Lập phép chọn trong truy vấn
Chọn một nhóm các bản ghi thỏa mãn những điều kiện nào đó: muốn thực hiện các phép chọn trong khi thể hiện truy vấn người ta thường sử dụng các phép toán sau:
Lập phép chọn trong truy vấn
Ví dụ:
Cho 2 bảng dữ liệu Dslop(Malop, Tenlop, Nganh_hoc, khoahoc)
Dssv(Masv, malop, hotensv, ngaysinh, quequan, giotinh, hocbong)
Tạo một truy vấn để hiển thị danh sách những sinh viên có ngaysinh trong khoảng thời gian từ 05/05/75 đến 05/05/79 bao gồm các trường: Tenlop, Hotensv, Ngaysinh, nganh_hoc.
Tạo truy vấn chọn và đưa 2 bảng dslop và dssv vào tham gia truy vấn
Đưa các trường Tenlop, hotensv, ngaysinh, nganh_hoc vào vùng lưới QBE
Trong hàng Criteria của trường Ngaysinh: Between #05/05/75# and #05/05/79#
Lập phép chọn trong truy vấn
Kí tự thay thế:
Ký tự * : Thay thế một nhóm ký tự bất kỳ.
Ký tự ? : Thay thế 1 ký tự.
Ký tự [ ] : Thay thế các ký tự trong ngoặc vuông.
Ký tự ! : Phủ định.
Ký tự - : Từ ký tự đến ký tự.
Ví dụ:
Cho 2 bảng dữ liệu Dslop(Malop, Tenlop, Nganh_hoc, khoahoc)
Dssv(Masv, malop, hotensv, ngaysinh, quequan, giotinh, hocbong)
Tạo một truy vấn để hiển thị danh sách những sinh viên có Tenlop bắt đầu là "T" bao gồm các trường: Tenlop, Hotensv, Ngaysinh, nganh_hoc.
Tạo truy vấn chọn và đưa 2 bảng dslop và dssv vào tham gia truy vấn
Đưa các trường Tenlop, hotensv, ngaysinh, nganh_hoc vào vùng lưới QBE
Trong hàng Criteria của trường Tenlop: Like "T*"
Lập phép chọn trong truy vấn
Chọn các bản ghi không phù hợp với một giá trị nào đó: Dùng toán tử Not
Lập phép chọn trong truy vấn
Định nhiều tiêu chuẩn trong lựa chọn: Dùng phép “Và” và phép “Hoặc” trong một trường
Ví dụ: Tạo một truy vấn để hiển thị danh sách những sinh viên có Họ là "Nguyễn" và Tên "Thuỷ" bao gồm các trường: Tenlop, Hotensv, Ngaysinh.
Tạo truy vấn chọn và đưa 2 bảng dslop và dssv vào tham gia truy vấn
Đưa các trường Tenlop, hotensv, ngaysinh vào vùng lưới QBE
Trong hàng Criteria của trường Hotensv : Like "Nguyễn *" and "* Thuỷ"
Lập phép chọn trong truy vấn
Chọn các bản ghi có chứa có giá trị: Chúng ta có thể chọn các bản ghi có chứa hoặc không chứa giá trị
Ví dụ: Tạo một truy vấn để hiển thị danh sách những sinh viên không có học bổng bao gồm các trường: Tenlop, Hotensv, hocbong.
Lập phép chọn trong truy vấn
Chọn các bản ghi thuộc danh sách các giá trị nào đó: Chúng ta có thể sử dụng phép toán IN (Danh sách giá trị)
Ví dụ: Tạo một truy vấn để hiển thị danh sách những sinh viên thuộc lớp "Tin K23" hoặc "Tin K24" hoặc "Tin K25" bao gồm các trường: Tenlop, Hotensv, hocbong.
Lập phép chọn trong truy vấn
Tham chiếu đến các trường khác: Nếu trong biểu thức chọn của truy vấn, các tính toán tham chiếu đến các trường phải đặt trong dấu [ ], trường hợp tham chiếu đến trường của bảng khác phải chỉ rõ bảng nguồn của nó. [Tên bảng]![Tên trường].
Lập phép chọn trong truy vấn
Tạo trường kiểu biểu thức:
Ví dụ: Cho 2 bảng dữ liệu
Dssv( Masv, hotensv, ngaysinh, quequan, gioitinh)
Dsdiem( Masv, mamon, diem_lan1, diem_lan2)
Tạo truy vấn để hiển thị các thông tin: Hotensv, mamon, diem_lan1, diem_lan2, dtb, trong đó dtb=(diem_lan1+ diem_lan2*2)/3.
Lập phép chọn trong truy vấn
Chọn giá trị duy nhất: Theo mặc định, access sẽ chọn tất cả các bản ghi thoã mãn điều kiện, tuy nhiên đôi khi có nhiều giá trị giống nhau được lặp đi lặp lại, do đó để cô đọng dữ liệu thì chúng ta có thể quy định thuộc tính duy nhất trong khi hiển thị
Thuộc tính Unique-values
Chọn Yes: Không thể hiện các giá trị trùng nhau
Chọn No: Thể hiện các giá trị trùng nhau
Thuộc tính Unique-Records
Chọn Yes: Không thể hiện các bản ghi trùng nhau
Chọn No: Thể hiện các bản ghi trùng nhau
Lập phép chọn trong truy vấn
Chọn các giá trị đầu:
Khi hiển thị truy vấn đôi khi chúng ta muốn hiển thị một số bản ghi đầu tiên nào đó thoả mãn các điều kiện thì sử dụng thuộc tính Top values.
Truy vấn trên nhiều bảng
Liên kết các bảng trong truy vấn
Tạo một liên kết ngoại
Tạo một tự liên kết
Tự động tìm kiếm dữ liệu
Liên kết các bảng trong truy vấn
Liên kết nội (Inner join): Đây là loại liên kết rất phổ biến nhất giữa 2 bảng dữ liệu. Trong đó dữ liệu khi thể hiện trên Dynaset sẽ gồm những bản ghi mà dữ liệu chứa trong trường liên kết ở hai bảng phải giống nhau hoàn toàn.
select NhanVien.TenNV, DiaPhuong.TenDP
from NhanVien inner join DiaPhuong on NhanVien.QueQuan = DiaPhuong.MaDP
Liên kết ngoại (Outer join):Đây là loại liên kết cho phép dữ liệu thể hiện trên Dynaset của một trong hai bảng tham gia có nội dung trường liên kết không giống nội dung trong trường tương ứng của bảng còn lại.
Liên kết các bảng trong truy vấn
Liên kết ngoại được chia làm 2 loại:
Left Outer Join: lấy tất cả các bản ghi trong bảng bên trái Phần tương ứng bên phải sẽ được điền giá trị tương ứng có nội dung trong trường liên kết khớp với trường tương ứng trong bảng trái, và cho giá trị null nếu không khớp.
Lấy tất cả những nhân viên kể cả những nhân viên có quê quán không hợp lệ (nghĩa là mã quê quán không có trong bảng địa phương)
select NhanVien.TenNV, DiaPhuong.TenDP
from NhanVien left outer join DiaPhuong on NhanVien.QueQuan = DiaPhuong.MaDP
Right Outer Join: ngược lại, lấy tất cả các bản ghi trong bảng bên phải . Phần tương ứng bên trái sẽ được điền giá trị tương ứng có nội dung trong trường liên kết khớp với trường tương ứng trong bảng phải, và cho giá trị null nếu không khớp.
Lấy tất cả những địa phương ghép với nhân viên, các địa phương không hợp lệ sẽ được ghép với bộ dữ liệu rỗng. Không hiện ra các nhân viên không có mã quê quán phù hợp
select NhanVien.TenNV, DiaPhuong.TenDP
from NhanVien right outer join DiaPhuong
on NhanVien.QueQuan = DiaPhuong.MaDP
Liên kết các bảng trong truy vấn
Tự liên kết (Seft join): Là kiểu liên kết của một bảng dữ liệu với chính nó. Trong đó một bản ghi trong bảng dữ liệu sẽ liên kết với những bản ghi khác trong bảng dữ liệu đó
VD: Cho bảng Dsdiem(Masv, Hoten, Diem_lan1, Diem_lan2)
Tạo truy vấn để hiển thị danh sách những sinh viên có điểm thi Lần 1 bằng điểm thi lần 2...
SELECT Masv, Hoten
FROM Dsdiem INNER JOIN Dsdiem AS Dsdiem_1 ON (DSDiem.DiemLan1 = DSDiem_1.DiemLan2) AND (DSDiem.MaSv = DSDiem_1.MaSv);
Liên kết các bảng trong truy vấn
Tạo một liên kết ngoại:
Tạo truy vấn mới và đưa bảng dữ liệu vào truy vấn 2 lần
Tạo các liên kết
Ví dụ: Cho bảng Dsdiem(Masv, Hoten, Diem_lan1, Diem_lan2)
Tạo truy vấn để hiển thị danh sách những sinh viên có điểm thi Lần 1 bằng điểm thi lần 2...
Tạo truy vấn mới và đưa bảng Dsdiem vào tham gia truy vấn 2 lần
Tạo liên kết nội (Inner join) giữa 2 trường Masv
Tạo liên kết nội từ trường Diem_lan1 vào Diem_lan2
Đưa các trường vào vùng lưới QBE và xem kết quả
Tính tổng trong truy vấn chọn
Một số phép toán thường dùng:
Tính tổng trong truy vấn chọn
Tạo truy vấn tính tổng
Tạo truy vấn chọn và đưa các bảng vào tham gia truy vấn
Thực hiện lệnh: View/Totals
Trong vùng lưới QBE:
Tại hàng Field chọn các trường
Total chọn các phép toán tương ứng.
Criteria: Chọn điều kiện giới hạn tính tổng (Nếu có)
Lưu và thực hiện truy vấn
Tính tổng trong truy vấn chọn
Tính tổng của tất cả các bảng
Tạo truy vấn chọn.
Đưa các bảng cần thiết vào truy vấn.
Đưa các trường cần thiết vào vùng lưới QBE
Chọn menu View/Totals, dòng Total sẽ xuất hiện trên vùng lưới.
Trong hàng total của mỗi trường chọn phương pháp tính tổng (Sum, Avg, count...).
Chuyển sang DataSheet View để xem kết quả. (View/ Datasheet View)
Ví dụ:
Tạo truy vấn để thống kê xem trong cửa hàng bán bao nhiêu mặt hàng và trung bình đơn giá của mỗi mặt hàng là bao nhiêu?
Tạo truy vấn và đưa bảng Dshang vào tham gia truy vấn
Đưa 2 trường Mahang và dongia vào vùng lưới QBE.
Chọn View/Totals
Trong hàng Total của trường Mahang chọn phép toán Count
Trong hàng Total của trường Dongia chọn phép toán Avg
Chọn View/Datasheet View để xem kết quả.
Tính tổng trong truy vấn chọn
Tính tổng trên từng nhóm bản ghi
Trong nhiều trường hợp chúng ta có thể tính toán trên một nhóm bản ghi nào đó. Chúng ta quy định khi thiết kế truy vấn những trường nào sẽ được tính theo nhóm, trường nào sẽ được tính tổng.
Tạo truy vấn
Đưa các bảng tham gia vào truy vấn
Đưa các trường vào vùng lưới
Chọn View/Totals
Tại hàng total
Chọn “Group by” cho trường làm khóa để nhóm
Chọn các phép toán tính tổng ( Sum,count..) cho các trường còn lại
Chọn View/Datasheet View để xem kết quả.
Ví dụ:
Tạo một truy vấn để tính tổng soluong, thanhtien của mỗi mặt hàng bán được là bao nhiêu?
Tạo truy vấn và đưa 2 bảng dshang và dskhach vào tham gia truy vấn
Chọn View/Totals
Đưa các trường Tenhang, soluong, thanhtien vào vùng lưới QBE.
Tại hàng Total của trường Tenhang: Chọn phép toán Group by
Tại hàng Total của trường Soluong, thanhtien: Chọn phép toán SUM.
Tính tổng trong truy vấn chọn
Tính tổng trên nhiều nhóm bản ghi
Access cho phép tính tổng không chỉ trên một mà còn nhiều nhóm bản ghi. Để làm được điều đó chúng ta chọn “Group by” trên nhiều trường và khi thực hiện Access sẽ theo thứ tự từ trái sang phải trường bên trái là nhóm mức cao hơn, trường kế tiếp theo là nhóm mức thấp hơn.
Ví dụ:
Tạo truy vấn để tính tổng thanhtien của mỗi mặt hàng bán được theo từng năm nào đó?
Tạo truy vấn và đưa 2 bảng dshang và dskhach vào tham gia truy vấn
Chọn View/Totals
Đưa các trường tenhang, ngaymua, thanhtien vào vùng lưới QBE
Tại hàng Total của trường tenhang chọn phép toán Group by
Tại hàng field của trường ngayban sử dụng hàm year([ngayban]) và tại hàng total chọn phép toán Group by.
Tại hàng Total của trường Thanhtien chọn phép toán Sum.
Thay đổi tiêu đề cột trong truy vấn
Tính tổng trong truy vấn chọn
Lập biểu thức chọn cho các trường dùng để nhóm khi tính tổng
Cũng như với những truy vấn khác, chúng ta có thể lập biểu thức chọn cho truy vấn tính tổng theo từng nhóm.
Để thực hiện công việc này, chúng ta lập biểu thức điều kiện ngay hàng Criteria của trường “group by”.
Ví dụ:
Tạo truy vấn để tính tổng thanhtien của mỗi mặt hàng bán được trong năm 1999.
Tạo truy vấn và đưa 2 bảng dshang và dskhach vào tham gia truy vấn
Chọn View/Totals
Đưa các trường tenhang, ngaymua, thanhtien vào vùng lưới QBE
Tại hàng Total của trường tenhang chọn phép toán Group by
Tại hàng field của trường ngayban sử dụng hàm year([ngayban]) và tại hàng total chọn phép toán Group by.
Tại hàng Total của trường Thanhtien chọn phép toán Sum.
Tại hàng Criteria của trường ngaymua: gõ vào giá trị 1999
Thay đổi tiêu đề cột trong truy vấn.
Dùng truy vấn để cập nhật bản ghi
Khi truy vấn chỉ dựa trên một bảng, hoậchi bảng có quan hệ 1-1 thì tất cả các trường đều có thể thay đổi, cập nhật. Trong trường hợp có nhiều hơn hai bảng tham gia truy vấn mà có quan hệ 1- thì sẽ phức tạp hơn.
Truy vấn tham số
Nếu thường xuyên chạy cùng một truy vấn, nhưng mỗi lần một tiêu chuẩn khác nhau, thay vì phải thiết kế lại truy vấn sau mỗi lần thực hiện, có thể tiết kiệm thời gian bằng cách tạo truy vấn tham số. Khi thực hiện loại này Access sẽ nhắc nhập điều kiện chọn trong hộp thoại enter parameter Value.
Tạo truy vấn tham số
Tạo truy vấn chọn và đưa các bảng cần thiết vào tham gia truy vấn.
Kéo các trường cần thiết vào vùng lưới QBE.
Tại hàng Criteria gõ vào biểu thức có chứa tham số với chú ý tên tham số phải nằm giữa 2 dấu ngoặc vuông ( [ ])
Tên tham số cũng là chuỗi nhắc nhở.Access cho phép có khoảng trắng và độ dài tối đa 255 ký tự.
Quy định kiểu dữ liệu cho tham số: Chọn queries/ parameter query.
Trong hộp thoại query parameters: Trong mục Parameter chọn tham số, trong mục Data type chọn kiểu dữ liệu tương ứng
Ví dụ:
Tạo truy vấn để hiển thị danh sách các khách hàng mua một mặt hàng nào đó (mặt hàng được nhập bất kỳ từ bàn phím).
Truy vấn nhiều tham số
Có thể tạo truy vấn , khi chạy truy vấn nhập nhiều dữ liệu cho điều kiện chọn lựa. Muốn vậy tạo truy vấn nhiều tham số.
Ví dụ:
Tạo một truy vấn hiển thị danh sách các khách hàng mua hàng trong khoảng thời gian nào đó (Thời gian được nhập từ bàn phím).
Tạo truy vấn chọn và đưa các 2 bảng dshang và dskhach vào tham gia truy vấn.
Kéo các trường tenhang, tenkhach, ngaymua vào vùng lưới QBE.
Tại hàng Criteria của trường NGAYSINH chọn:
Between [Từ ngày] and [Đến ngày]
Chọn query/Parameter khai báo kiểu dữ liệu cho 2 tham số là date/time.
Truy vấn tham khảo chéo
Truy vấn tham khảo chéo là loại truy vấn dùng để tóm lược dữ liệu và trình bày kết quả theo dạng như một bảng tính
Cách tạo:
Tạo truy vấn chọn và đưa các bảng vào tham gia truy vấn
Đưa các trường vào vùng lưới QBE
Chọn Query/Crosstab
Quy định trường làm tiêu đề cột
Tại hàng Total: Bắt buộc chọn phép toán Group by
Tại hàng Crosstab: Chọn Column heading
Quy định trường làm tiêu đề hàng
Tại hàng Total: Ít nhất một trong các trường phải chọn phép toán Group by
Tại hàng Crosstab: Chọn Row heading
Quy định trường tính giá trị
Tại hàng Total: Chọn phép toán thích hợp
Tại hàng Crosstab: Chọn Value
Ví dụ:
Tạo truy vấn chọn và đưa các bảng vào tham gia truy vấn
Đưa các trường vào vùng lưới QBE
Chọn Query/Crosstab
Quy định trường làm tiêu đề cột
Tại hàng Total: Bắt buộc chọn phép toán Group by
Tại hàng Crosstab: Chọn Column heading
Quy định trường làm tiêu đề hàng
Tại hàng Total: Ít nhất một trong các trường phải chọn phép toán Group by
Tại hàng Crosstab: Chọn Row heading
Quy định trường tính giá trị
Tại hàng Total: Chọn phép toán thích hợp
Tại hàng Crosstab: Chọn Value
Truy vấn hành động
Truy vấn tạo bảng (Make table query): Tạo bảng mới từ một bảng hay nhiều bảng đã tồn tại dữ liệu.
Truy vấn cập nhật (Update query): Dùng để cập nhật dữ liệu cho một hoặc nhiều truờng trong bảng dữ liệu.
Truy vấn xoá (Delete query):Xoá các bản ghi thoả mãn các điều kiện từ một hay nhiều bảng dữ liệu.
Truy vấn nối (Append query): Nối một số bản ghi từ một hoặc nhiều bảng dữ liệu vào sau một hoặc nhiều bảng dữ liệu khác.
Truy vấn tạo bảng
Truy vấn tạo bảng sẽ tạo ra một bảng mới bằng cách rút các bản ghi thoã mãn các điều kiện nào đó.
Cách tạo:
Để tạo truy vấn tạo bảng chúng ta tạo truy vấn chọn và đưa bảng vào tham gia truy vấn. Đưa các trường vào vùng lưới QBE Chọn query/ make table query
Trong mục Table name: Đặt tên mới cho bảng muốn tạo.
Chọn Current Database: CSDL hiện thời
Another Database: Tạo bảng trong CSDL khác.
Chọn các điều kiện (Nếu có).
Truy vấn xóa
Truy vấn xoá giúp chúng ta loại bỏ các bản ghi thoả mãn một số điều kiện nào đó
Cách tạo:
Để tạo truy vấn xoá chúng ta tạo truy vấn chọn và đưa bảng vào tham gia truy vấn.
Chọn query/ Delete query
Trong vùng lưới QBE tại hàng Field chọn các trường cần so sánh với điều kiện xoá
Tại hàng Delete: Chọn phép toán Where
Tại hàng Criteria: Chọn điều kiện xoá
Ví dụ:
Tạo truy vấn để xoá những sinh viên có matruong là "SP"
Truy vấn cập nhật
Truy vấn này dùng để cập nhật giá trị hoặc sửa đổi giá trị của các trường trong bảng dữ liệu.
Cách tạo
Tạo một truy vấn chọn và đưa bảng vào tham gia truy vấn
Chọn Query/Update query
Tại hàng Field: Chọn trường cần cập nhật dữ liệu
Tại hàng Update to: Chọn Biểu thức cần tính giá trị
Tại hàng Criteria: Chọn điều kiện (nếu có).
Ví dụ
Cho 2 bảng dữ liệu Dsphong(tenphong, dongia)
Dskhachtro (tenphong, ngayden, ngaydi, thanhtien)
Tạo truy vấn để cập nhật giá trị cho trường Thanhtien=(ngaydi-ngayden)*dongia
Truy vấn nối dữ liệu
Truy vấn nối dữ liệu dùng để nối dữ liệu từ một bảng này vào sau một bảng khác.
Cách tạo:
Tạo truy vấn chọn và đưa bảng dữ liệu vào để nối với bảng khác tham gia truy vấn.
Chọn Queries/Append query
Trong mục Table name: Chọn bảng cần nối vào và chọn OK.
Chọn Current Database: CSDL hiện thời Another Database: Tạo bảng trong CSDL khác.
Trong vùng lưới QBE của truy vấn tại hàng Field:
Đưa các trường của bảng gốc vào.
Trong hàng Append to: Đưa các trường tương ứng của bảng cần nối và đặt điều kiện nếu cần thiết.
Khái niệm truy vấn:
Truy vấn là một công cụ cho phép đặt câu hỏi với dữ liệu trong bảng dữ liệu trong CSDL.
Loại truy vấn thông dụng nhất là truy vấn chọn (Select Query )
Ví dụ:
Cho 2 bảng dữ liệu KHOHANG (MAHANG, TENHANG, GIA) và BANHANG(MAHANG, TENKHACH, SOLUONG, NGAYMUA).
Hãy hiển thị những khách hàng mua hàng trong tháng 7 bao gồm các thông tin: MAHANG, TENHANG, GIA, TENKHACH
Sau khi thực hiện truy vấn, dữ liệu thỏa mãn yêu cầu được rút ra và tập hợp vào một bảng kết qủa
Các loại truy vấn trong Access
Select Query : Truy vấn chọn
Crosstab Query : Truy vấn tham khóa chéo (Thể hiện dòng và cột)
Action Query : Truy vấn hành động gồm
Truy vấn tạo bảng (make table Query )
Truy vấn nối (append Query )
Truy vấn cập nhật ( Update Query )
Truy vấn xóa dữ liệu ( Delete Query )
SQL Query : Truy vấn được viết bởi ngôn ngữ SQL.
Pass throught Query : Gởi các lệnh đến một CSDL SQL như Microsoft SQL server.
Sự cần thiết của truy vấn
Khi đứng trước một vấn đề nào đó trong CSDL, nếu sử dụng công cụ truy vấn thì có thể thực hiện được các yêu cầu sau:
Lựa chọn các trường cần thiết.
Lựa chọn những bản ghi.
Sắp xếp thứ tự các bản ghi.
Lấy dữ liệu chứa trên nhiều bảng khác nhau trong CSDL.
Thực hiện các phép tính.
Sử dụng truy vấn làm nguồn dữ liệu cho một biểu mẫu (Form), báo cáo (report) hoặc một truy vấn khác (Query)
Thay đổi dữ liệu trong bảng.
Các chế độ hiển thị truy vấn
Design View: Màn hình truy vấn chứa hai phần, phần thứ nhất chứa các bảng (hoặc truy vấn) tham gia truy vấn, phần thứ hai gọi là vùng lưới QBE (Query By Example).
Datasheet View: Sử dụng chế độ này để xem kết quả.
SQL view: Sử dụng chế độ này để xem mã lệnh của truy vấn đang tạo
Design view
Datasheet view
SQL view
Tạo truy vấn
Chọn tab Create/ Query Design
Trong bảng Show Table chọn tables để hiển thị các bảng, chọn các bảng tham gia vào truy vấn và nhấn nút Add, sau đó nhấn Close
Đưa các trường từ các bảng vào tham gia truy vần bằng cách kéo các trường và thả vào hàng Field trong vùng lưới QBE
Trong hàng Sort: Sắp xếp dữ liệu (nếu có)
Trong hàng Criteria đặt tiêu chuẩn (nếu có)
Lưu truy vấn.
Lưu ý:
Mỗi truy vấn có:
Tối đa là 32 bảng tham gia.
Tối đa là 255 trường.
Kích thước tối đa của bảng dữ liệu (do truy vấn tạo ra) là 1 gigabyte.
Số trường dùng làm khóa sắp xếp tối đa là 10.
Số truy vấn lồng nhau tối đa là 50 cấp.
Số ký tự tối đa trong ô của vùng lưới là 1024.
Số ký tự tối đa trong dòng lệnh SQL là 64000.
Số ký tự tối đa trong tham số là 255.
Thay đổi thứ tự trường
Đưa con trỏ vào thanh chọn sao cho con trỏ biến thành hình mũi tên trỏ xuống
Click để chọn trường
Drag để thay đổi vị trí.
Xóa trường
Đưa con trỏ vào thanh chọn sao cho con trỏ biến thành hình mũi tên trỏ xuống
Click để chọn trường
Nhấn phím delete (Nếu muốn xoá tất cả các trường trong vùng lưới QBE: chọn Edit/clear grid)
Xem kết quả truy vấn:
Tại cửa sổ Database chọn tên truy vấn rồi chọn Open, hoặc trong khi thiết kế truy vấn thực hiện lệnh View/datasheet View.
Đổi tiêu đề cột trong truy vấn:
Đổi tên tiêu đề cột trong truy vấn mục đích là làm cho bảng kết xuất dễ đọc hơn (Trừ khi đã quy định thuộc tính Caption).
Muốn đổi tên tiêu đề cột thực hiện theo các bước sau:
Mở truy vấn ở chế độ Design View
Chọn vào bên trái ký tự đầu tiên của tên trường trong vùng lưới QBE
Gõ vào tên mới, theo sau là dấu 2 chấm (:)
Che dấu hoặc hiển thị các trường trong bảng kết quả:
Tại hàng Show ứng với trường cần che dấu chúng ta không chọn mặt dù nó vẫn tồn tại, vẫn tham gia truy vấn.
Thiết kế truy vấn chọn (Select query)
Định nghĩa: là loại truy vấn được chọn lựa, rút trích dữ liệu từ các bảng dữ liệu thỏa mãn một hoặc nhiều điều kiện nào đó
Lập phép chọn trong truy vấn
Chọn một nhóm các bản ghi thỏa mãn những điều kiện nào đó: muốn thực hiện các phép chọn trong khi thể hiện truy vấn người ta thường sử dụng các phép toán sau:
Lập phép chọn trong truy vấn
Ví dụ:
Cho 2 bảng dữ liệu Dslop(Malop, Tenlop, Nganh_hoc, khoahoc)
Dssv(Masv, malop, hotensv, ngaysinh, quequan, giotinh, hocbong)
Tạo một truy vấn để hiển thị danh sách những sinh viên có ngaysinh trong khoảng thời gian từ 05/05/75 đến 05/05/79 bao gồm các trường: Tenlop, Hotensv, Ngaysinh, nganh_hoc.
Tạo truy vấn chọn và đưa 2 bảng dslop và dssv vào tham gia truy vấn
Đưa các trường Tenlop, hotensv, ngaysinh, nganh_hoc vào vùng lưới QBE
Trong hàng Criteria của trường Ngaysinh: Between #05/05/75# and #05/05/79#
Lập phép chọn trong truy vấn
Kí tự thay thế:
Ký tự * : Thay thế một nhóm ký tự bất kỳ.
Ký tự ? : Thay thế 1 ký tự.
Ký tự [ ] : Thay thế các ký tự trong ngoặc vuông.
Ký tự ! : Phủ định.
Ký tự - : Từ ký tự đến ký tự.
Ví dụ:
Cho 2 bảng dữ liệu Dslop(Malop, Tenlop, Nganh_hoc, khoahoc)
Dssv(Masv, malop, hotensv, ngaysinh, quequan, giotinh, hocbong)
Tạo một truy vấn để hiển thị danh sách những sinh viên có Tenlop bắt đầu là "T" bao gồm các trường: Tenlop, Hotensv, Ngaysinh, nganh_hoc.
Tạo truy vấn chọn và đưa 2 bảng dslop và dssv vào tham gia truy vấn
Đưa các trường Tenlop, hotensv, ngaysinh, nganh_hoc vào vùng lưới QBE
Trong hàng Criteria của trường Tenlop: Like "T*"
Lập phép chọn trong truy vấn
Chọn các bản ghi không phù hợp với một giá trị nào đó: Dùng toán tử Not
Lập phép chọn trong truy vấn
Định nhiều tiêu chuẩn trong lựa chọn: Dùng phép “Và” và phép “Hoặc” trong một trường
Ví dụ: Tạo một truy vấn để hiển thị danh sách những sinh viên có Họ là "Nguyễn" và Tên "Thuỷ" bao gồm các trường: Tenlop, Hotensv, Ngaysinh.
Tạo truy vấn chọn và đưa 2 bảng dslop và dssv vào tham gia truy vấn
Đưa các trường Tenlop, hotensv, ngaysinh vào vùng lưới QBE
Trong hàng Criteria của trường Hotensv : Like "Nguyễn *" and "* Thuỷ"
Lập phép chọn trong truy vấn
Chọn các bản ghi có chứa có giá trị: Chúng ta có thể chọn các bản ghi có chứa hoặc không chứa giá trị
Ví dụ: Tạo một truy vấn để hiển thị danh sách những sinh viên không có học bổng bao gồm các trường: Tenlop, Hotensv, hocbong.
Lập phép chọn trong truy vấn
Chọn các bản ghi thuộc danh sách các giá trị nào đó: Chúng ta có thể sử dụng phép toán IN (Danh sách giá trị)
Ví dụ: Tạo một truy vấn để hiển thị danh sách những sinh viên thuộc lớp "Tin K23" hoặc "Tin K24" hoặc "Tin K25" bao gồm các trường: Tenlop, Hotensv, hocbong.
Lập phép chọn trong truy vấn
Tham chiếu đến các trường khác: Nếu trong biểu thức chọn của truy vấn, các tính toán tham chiếu đến các trường phải đặt trong dấu [ ], trường hợp tham chiếu đến trường của bảng khác phải chỉ rõ bảng nguồn của nó. [Tên bảng]![Tên trường].
Lập phép chọn trong truy vấn
Tạo trường kiểu biểu thức:
Ví dụ: Cho 2 bảng dữ liệu
Dssv( Masv, hotensv, ngaysinh, quequan, gioitinh)
Dsdiem( Masv, mamon, diem_lan1, diem_lan2)
Tạo truy vấn để hiển thị các thông tin: Hotensv, mamon, diem_lan1, diem_lan2, dtb, trong đó dtb=(diem_lan1+ diem_lan2*2)/3.
Lập phép chọn trong truy vấn
Chọn giá trị duy nhất: Theo mặc định, access sẽ chọn tất cả các bản ghi thoã mãn điều kiện, tuy nhiên đôi khi có nhiều giá trị giống nhau được lặp đi lặp lại, do đó để cô đọng dữ liệu thì chúng ta có thể quy định thuộc tính duy nhất trong khi hiển thị
Thuộc tính Unique-values
Chọn Yes: Không thể hiện các giá trị trùng nhau
Chọn No: Thể hiện các giá trị trùng nhau
Thuộc tính Unique-Records
Chọn Yes: Không thể hiện các bản ghi trùng nhau
Chọn No: Thể hiện các bản ghi trùng nhau
Lập phép chọn trong truy vấn
Chọn các giá trị đầu:
Khi hiển thị truy vấn đôi khi chúng ta muốn hiển thị một số bản ghi đầu tiên nào đó thoả mãn các điều kiện thì sử dụng thuộc tính Top values.
Truy vấn trên nhiều bảng
Liên kết các bảng trong truy vấn
Tạo một liên kết ngoại
Tạo một tự liên kết
Tự động tìm kiếm dữ liệu
Liên kết các bảng trong truy vấn
Liên kết nội (Inner join): Đây là loại liên kết rất phổ biến nhất giữa 2 bảng dữ liệu. Trong đó dữ liệu khi thể hiện trên Dynaset sẽ gồm những bản ghi mà dữ liệu chứa trong trường liên kết ở hai bảng phải giống nhau hoàn toàn.
select NhanVien.TenNV, DiaPhuong.TenDP
from NhanVien inner join DiaPhuong on NhanVien.QueQuan = DiaPhuong.MaDP
Liên kết ngoại (Outer join):Đây là loại liên kết cho phép dữ liệu thể hiện trên Dynaset của một trong hai bảng tham gia có nội dung trường liên kết không giống nội dung trong trường tương ứng của bảng còn lại.
Liên kết các bảng trong truy vấn
Liên kết ngoại được chia làm 2 loại:
Left Outer Join: lấy tất cả các bản ghi trong bảng bên trái Phần tương ứng bên phải sẽ được điền giá trị tương ứng có nội dung trong trường liên kết khớp với trường tương ứng trong bảng trái, và cho giá trị null nếu không khớp.
Lấy tất cả những nhân viên kể cả những nhân viên có quê quán không hợp lệ (nghĩa là mã quê quán không có trong bảng địa phương)
select NhanVien.TenNV, DiaPhuong.TenDP
from NhanVien left outer join DiaPhuong on NhanVien.QueQuan = DiaPhuong.MaDP
Right Outer Join: ngược lại, lấy tất cả các bản ghi trong bảng bên phải . Phần tương ứng bên trái sẽ được điền giá trị tương ứng có nội dung trong trường liên kết khớp với trường tương ứng trong bảng phải, và cho giá trị null nếu không khớp.
Lấy tất cả những địa phương ghép với nhân viên, các địa phương không hợp lệ sẽ được ghép với bộ dữ liệu rỗng. Không hiện ra các nhân viên không có mã quê quán phù hợp
select NhanVien.TenNV, DiaPhuong.TenDP
from NhanVien right outer join DiaPhuong
on NhanVien.QueQuan = DiaPhuong.MaDP
Liên kết các bảng trong truy vấn
Tự liên kết (Seft join): Là kiểu liên kết của một bảng dữ liệu với chính nó. Trong đó một bản ghi trong bảng dữ liệu sẽ liên kết với những bản ghi khác trong bảng dữ liệu đó
VD: Cho bảng Dsdiem(Masv, Hoten, Diem_lan1, Diem_lan2)
Tạo truy vấn để hiển thị danh sách những sinh viên có điểm thi Lần 1 bằng điểm thi lần 2...
SELECT Masv, Hoten
FROM Dsdiem INNER JOIN Dsdiem AS Dsdiem_1 ON (DSDiem.DiemLan1 = DSDiem_1.DiemLan2) AND (DSDiem.MaSv = DSDiem_1.MaSv);
Liên kết các bảng trong truy vấn
Tạo một liên kết ngoại:
Tạo truy vấn mới và đưa bảng dữ liệu vào truy vấn 2 lần
Tạo các liên kết
Ví dụ: Cho bảng Dsdiem(Masv, Hoten, Diem_lan1, Diem_lan2)
Tạo truy vấn để hiển thị danh sách những sinh viên có điểm thi Lần 1 bằng điểm thi lần 2...
Tạo truy vấn mới và đưa bảng Dsdiem vào tham gia truy vấn 2 lần
Tạo liên kết nội (Inner join) giữa 2 trường Masv
Tạo liên kết nội từ trường Diem_lan1 vào Diem_lan2
Đưa các trường vào vùng lưới QBE và xem kết quả
Tính tổng trong truy vấn chọn
Một số phép toán thường dùng:
Tính tổng trong truy vấn chọn
Tạo truy vấn tính tổng
Tạo truy vấn chọn và đưa các bảng vào tham gia truy vấn
Thực hiện lệnh: View/Totals
Trong vùng lưới QBE:
Tại hàng Field chọn các trường
Total chọn các phép toán tương ứng.
Criteria: Chọn điều kiện giới hạn tính tổng (Nếu có)
Lưu và thực hiện truy vấn
Tính tổng trong truy vấn chọn
Tính tổng của tất cả các bảng
Tạo truy vấn chọn.
Đưa các bảng cần thiết vào truy vấn.
Đưa các trường cần thiết vào vùng lưới QBE
Chọn menu View/Totals, dòng Total sẽ xuất hiện trên vùng lưới.
Trong hàng total của mỗi trường chọn phương pháp tính tổng (Sum, Avg, count...).
Chuyển sang DataSheet View để xem kết quả. (View/ Datasheet View)
Ví dụ:
Tạo truy vấn để thống kê xem trong cửa hàng bán bao nhiêu mặt hàng và trung bình đơn giá của mỗi mặt hàng là bao nhiêu?
Tạo truy vấn và đưa bảng Dshang vào tham gia truy vấn
Đưa 2 trường Mahang và dongia vào vùng lưới QBE.
Chọn View/Totals
Trong hàng Total của trường Mahang chọn phép toán Count
Trong hàng Total của trường Dongia chọn phép toán Avg
Chọn View/Datasheet View để xem kết quả.
Tính tổng trong truy vấn chọn
Tính tổng trên từng nhóm bản ghi
Trong nhiều trường hợp chúng ta có thể tính toán trên một nhóm bản ghi nào đó. Chúng ta quy định khi thiết kế truy vấn những trường nào sẽ được tính theo nhóm, trường nào sẽ được tính tổng.
Tạo truy vấn
Đưa các bảng tham gia vào truy vấn
Đưa các trường vào vùng lưới
Chọn View/Totals
Tại hàng total
Chọn “Group by” cho trường làm khóa để nhóm
Chọn các phép toán tính tổng ( Sum,count..) cho các trường còn lại
Chọn View/Datasheet View để xem kết quả.
Ví dụ:
Tạo một truy vấn để tính tổng soluong, thanhtien của mỗi mặt hàng bán được là bao nhiêu?
Tạo truy vấn và đưa 2 bảng dshang và dskhach vào tham gia truy vấn
Chọn View/Totals
Đưa các trường Tenhang, soluong, thanhtien vào vùng lưới QBE.
Tại hàng Total của trường Tenhang: Chọn phép toán Group by
Tại hàng Total của trường Soluong, thanhtien: Chọn phép toán SUM.
Tính tổng trong truy vấn chọn
Tính tổng trên nhiều nhóm bản ghi
Access cho phép tính tổng không chỉ trên một mà còn nhiều nhóm bản ghi. Để làm được điều đó chúng ta chọn “Group by” trên nhiều trường và khi thực hiện Access sẽ theo thứ tự từ trái sang phải trường bên trái là nhóm mức cao hơn, trường kế tiếp theo là nhóm mức thấp hơn.
Ví dụ:
Tạo truy vấn để tính tổng thanhtien của mỗi mặt hàng bán được theo từng năm nào đó?
Tạo truy vấn và đưa 2 bảng dshang và dskhach vào tham gia truy vấn
Chọn View/Totals
Đưa các trường tenhang, ngaymua, thanhtien vào vùng lưới QBE
Tại hàng Total của trường tenhang chọn phép toán Group by
Tại hàng field của trường ngayban sử dụng hàm year([ngayban]) và tại hàng total chọn phép toán Group by.
Tại hàng Total của trường Thanhtien chọn phép toán Sum.
Thay đổi tiêu đề cột trong truy vấn
Tính tổng trong truy vấn chọn
Lập biểu thức chọn cho các trường dùng để nhóm khi tính tổng
Cũng như với những truy vấn khác, chúng ta có thể lập biểu thức chọn cho truy vấn tính tổng theo từng nhóm.
Để thực hiện công việc này, chúng ta lập biểu thức điều kiện ngay hàng Criteria của trường “group by”.
Ví dụ:
Tạo truy vấn để tính tổng thanhtien của mỗi mặt hàng bán được trong năm 1999.
Tạo truy vấn và đưa 2 bảng dshang và dskhach vào tham gia truy vấn
Chọn View/Totals
Đưa các trường tenhang, ngaymua, thanhtien vào vùng lưới QBE
Tại hàng Total của trường tenhang chọn phép toán Group by
Tại hàng field của trường ngayban sử dụng hàm year([ngayban]) và tại hàng total chọn phép toán Group by.
Tại hàng Total của trường Thanhtien chọn phép toán Sum.
Tại hàng Criteria của trường ngaymua: gõ vào giá trị 1999
Thay đổi tiêu đề cột trong truy vấn.
Dùng truy vấn để cập nhật bản ghi
Khi truy vấn chỉ dựa trên một bảng, hoậchi bảng có quan hệ 1-1 thì tất cả các trường đều có thể thay đổi, cập nhật. Trong trường hợp có nhiều hơn hai bảng tham gia truy vấn mà có quan hệ 1- thì sẽ phức tạp hơn.
Truy vấn tham số
Nếu thường xuyên chạy cùng một truy vấn, nhưng mỗi lần một tiêu chuẩn khác nhau, thay vì phải thiết kế lại truy vấn sau mỗi lần thực hiện, có thể tiết kiệm thời gian bằng cách tạo truy vấn tham số. Khi thực hiện loại này Access sẽ nhắc nhập điều kiện chọn trong hộp thoại enter parameter Value.
Tạo truy vấn tham số
Tạo truy vấn chọn và đưa các bảng cần thiết vào tham gia truy vấn.
Kéo các trường cần thiết vào vùng lưới QBE.
Tại hàng Criteria gõ vào biểu thức có chứa tham số với chú ý tên tham số phải nằm giữa 2 dấu ngoặc vuông ( [ ])
Tên tham số cũng là chuỗi nhắc nhở.Access cho phép có khoảng trắng và độ dài tối đa 255 ký tự.
Quy định kiểu dữ liệu cho tham số: Chọn queries/ parameter query.
Trong hộp thoại query parameters: Trong mục Parameter chọn tham số, trong mục Data type chọn kiểu dữ liệu tương ứng
Ví dụ:
Tạo truy vấn để hiển thị danh sách các khách hàng mua một mặt hàng nào đó (mặt hàng được nhập bất kỳ từ bàn phím).
Truy vấn nhiều tham số
Có thể tạo truy vấn , khi chạy truy vấn nhập nhiều dữ liệu cho điều kiện chọn lựa. Muốn vậy tạo truy vấn nhiều tham số.
Ví dụ:
Tạo một truy vấn hiển thị danh sách các khách hàng mua hàng trong khoảng thời gian nào đó (Thời gian được nhập từ bàn phím).
Tạo truy vấn chọn và đưa các 2 bảng dshang và dskhach vào tham gia truy vấn.
Kéo các trường tenhang, tenkhach, ngaymua vào vùng lưới QBE.
Tại hàng Criteria của trường NGAYSINH chọn:
Between [Từ ngày] and [Đến ngày]
Chọn query/Parameter khai báo kiểu dữ liệu cho 2 tham số là date/time.
Truy vấn tham khảo chéo
Truy vấn tham khảo chéo là loại truy vấn dùng để tóm lược dữ liệu và trình bày kết quả theo dạng như một bảng tính
Cách tạo:
Tạo truy vấn chọn và đưa các bảng vào tham gia truy vấn
Đưa các trường vào vùng lưới QBE
Chọn Query/Crosstab
Quy định trường làm tiêu đề cột
Tại hàng Total: Bắt buộc chọn phép toán Group by
Tại hàng Crosstab: Chọn Column heading
Quy định trường làm tiêu đề hàng
Tại hàng Total: Ít nhất một trong các trường phải chọn phép toán Group by
Tại hàng Crosstab: Chọn Row heading
Quy định trường tính giá trị
Tại hàng Total: Chọn phép toán thích hợp
Tại hàng Crosstab: Chọn Value
Ví dụ:
Tạo truy vấn chọn và đưa các bảng vào tham gia truy vấn
Đưa các trường vào vùng lưới QBE
Chọn Query/Crosstab
Quy định trường làm tiêu đề cột
Tại hàng Total: Bắt buộc chọn phép toán Group by
Tại hàng Crosstab: Chọn Column heading
Quy định trường làm tiêu đề hàng
Tại hàng Total: Ít nhất một trong các trường phải chọn phép toán Group by
Tại hàng Crosstab: Chọn Row heading
Quy định trường tính giá trị
Tại hàng Total: Chọn phép toán thích hợp
Tại hàng Crosstab: Chọn Value
Truy vấn hành động
Truy vấn tạo bảng (Make table query): Tạo bảng mới từ một bảng hay nhiều bảng đã tồn tại dữ liệu.
Truy vấn cập nhật (Update query): Dùng để cập nhật dữ liệu cho một hoặc nhiều truờng trong bảng dữ liệu.
Truy vấn xoá (Delete query):Xoá các bản ghi thoả mãn các điều kiện từ một hay nhiều bảng dữ liệu.
Truy vấn nối (Append query): Nối một số bản ghi từ một hoặc nhiều bảng dữ liệu vào sau một hoặc nhiều bảng dữ liệu khác.
Truy vấn tạo bảng
Truy vấn tạo bảng sẽ tạo ra một bảng mới bằng cách rút các bản ghi thoã mãn các điều kiện nào đó.
Cách tạo:
Để tạo truy vấn tạo bảng chúng ta tạo truy vấn chọn và đưa bảng vào tham gia truy vấn. Đưa các trường vào vùng lưới QBE Chọn query/ make table query
Trong mục Table name: Đặt tên mới cho bảng muốn tạo.
Chọn Current Database: CSDL hiện thời
Another Database: Tạo bảng trong CSDL khác.
Chọn các điều kiện (Nếu có).
Truy vấn xóa
Truy vấn xoá giúp chúng ta loại bỏ các bản ghi thoả mãn một số điều kiện nào đó
Cách tạo:
Để tạo truy vấn xoá chúng ta tạo truy vấn chọn và đưa bảng vào tham gia truy vấn.
Chọn query/ Delete query
Trong vùng lưới QBE tại hàng Field chọn các trường cần so sánh với điều kiện xoá
Tại hàng Delete: Chọn phép toán Where
Tại hàng Criteria: Chọn điều kiện xoá
Ví dụ:
Tạo truy vấn để xoá những sinh viên có matruong là "SP"
Truy vấn cập nhật
Truy vấn này dùng để cập nhật giá trị hoặc sửa đổi giá trị của các trường trong bảng dữ liệu.
Cách tạo
Tạo một truy vấn chọn và đưa bảng vào tham gia truy vấn
Chọn Query/Update query
Tại hàng Field: Chọn trường cần cập nhật dữ liệu
Tại hàng Update to: Chọn Biểu thức cần tính giá trị
Tại hàng Criteria: Chọn điều kiện (nếu có).
Ví dụ
Cho 2 bảng dữ liệu Dsphong(tenphong, dongia)
Dskhachtro (tenphong, ngayden, ngaydi, thanhtien)
Tạo truy vấn để cập nhật giá trị cho trường Thanhtien=(ngaydi-ngayden)*dongia
Truy vấn nối dữ liệu
Truy vấn nối dữ liệu dùng để nối dữ liệu từ một bảng này vào sau một bảng khác.
Cách tạo:
Tạo truy vấn chọn và đưa bảng dữ liệu vào để nối với bảng khác tham gia truy vấn.
Chọn Queries/Append query
Trong mục Table name: Chọn bảng cần nối vào và chọn OK.
Chọn Current Database: CSDL hiện thời Another Database: Tạo bảng trong CSDL khác.
Trong vùng lưới QBE của truy vấn tại hàng Field:
Đưa các trường của bảng gốc vào.
Trong hàng Append to: Đưa các trường tương ứng của bảng cần nối và đặt điều kiện nếu cần thiết.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Thanh Tuấn
Dung lượng: |
Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)