Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Bài 8.

TRUY VẤN DỮ LIỆU


1. CÁC KHÁI NIỆM
- Mẫu hỏi (Query) là công cụ khai thác và xử lý dữ liệu, nó có thế sắp xếp, thống kê, tìm kiếm dữ liệu
từ nhiều bảng và mẫu hỏi khác.
- Mẫu hỏi thường được sử dụng để:
 Sắp xếp các bản ghi;
 Chọn các bản ghi thoả mãn các điều kiện cho trước;
 Chọn các trường để hiển thị;
 Thực hiện tính toán như tính trung bình cộng, tính tổng, đếm bản ghi,…;
 Tổng hợp và hiển thị thông tin từ nhiều bảng.
- Các loại mẫu hỏi: Truy vấn lựa chọn (Select), truy vấn tạo bảng (Make Table), truy vấn
bổ sung (Append), truy vấn cập nhật (Update), truy vấn chéo (Crosstab), truy vấn xóa
(Delete)...
2. TẠO QUERY
* Các bước tạo một mẫu hỏi bao gồm:

B1: Chọn thẻ Create nhấp vào Query Desgin


B2: Chọn nguồn dữ liệu cho mẫu hỏi trong hộp thoại Show table
- Nhấn Tables để chọn nguồn dữ liệu trong bảng
- Nhấn Queries để chọn nguồn dữ liệu trong mẫu hỏi khác.
- Chọn xong click nút Close để đóng lại
B3: Chọn các field cần xuất hiện tại dòng Field
B4: Nếu muốn sắp xếp thì tại dòng sort của field chọn cách sắp xếp ( ascending- tăng
dần, descending – giảm dần)
B5: Xác định hiện dấu check [] hay ẩn dấu check [ ] nội dung các field tại dòng
Show của field
B6: Đặt điều kiện trích chọn record tại dòng Criteria, OR
B7: Lưu Query: File  Save  nhập tên Query  OK
* Thực hiện mẫu hỏi để xem kết quả: Trong phần Results

- Cách 1: Nháy nút


- Cách 2: Nháy nút hoặc chọn lệnh View  Datasheet View

3. MỘT SỐ THAO TÁC KHI THIẾT KẾ QUERY


- Chọn cột: click tại vùng chọn cột nằm trên dòng Field
- Di chuyển cột: kéo thả cột trên vùng chọn cột
- Xóa cột: chọn cột và ấn phím delete
4. TẠO TRƯỜNG (FIELD) MỚI (trường tính toán)
a. quy tắc: < tên field mới> : <biểu thức >
- Tên field mới không được đặt trùng tên với field đã có
- Để phóng lớn field đang soạn thảo nhấn Shift + F2 (Zoom), sau khi nhập xong chọn
OK
- Tên field tham chiếu trong biểu thức mà có dấu cách phải đặt trong dấu [ ]
- Nếu gõ sai tên field tham chiếu thì Access sẽ hiểu đó là tham số mà người dùng sẽ
nhập khi thi hành truy vấn
b. Biểu thức
- Các phép toán thường dùng bao gồm: Phép toán số học +, -, *, /,\ (chia lấy phần nguyên)
^(lũy thừa), mod ( lấy phần dư)
- Phép so sánh <, >, <=, >=, =, <>
- Phép toán lôgic AND, OR, NOT
- Phép toán tập hợp : In
- Các phép toán khác : Like, betweeen, & (phép nối chuỗi)

Ký hiệu Ý nghĩa Ví dụ Ý nghĩa của ví dụ


* Cho bất kỳ chuỗi ký tự nào Like “H*” Chuỗi bắt đầu bởi H
Like “*n” Chuỗi kết thúc bởi n
? Cho 1 ký tự tùy ý Like “H?n” Chuỗi có 3 ký tự, ký tự đầu là H, cuối là n
# Cho 1 ký tự số từ 0 đến 9 Like “1#3” Chuỗi có 3 ký tự số, ký tự đầu là 1, cuối là 3
b1) Toán hạng trong các biểu thức có thể là:
 Tên trường (đóng vai trò các biến) được ghi trong dấu ngoặc vuông, ví dụ
[GIOI_TINH],...
 Hằng số, ví dụ 0.1; 1000000,...
 Hằng văn bản, được viết trong dấu nháy kép, ví dụ "NAM", "Nữ",...
 Hàm: - Hàm trên kiểu dữ liệu số (SUM, AVG, MAX, MIN), COUNT cả kiểu
chuỗi, ...
- Hàm trên kiểu thời gian: DATE(),DAY, MONTH, YEAR
- Hàm trên kiểu chuỗi: RIGHT, LEFT, LEN
- Hàm điều kiện iif: iif(đk, Gia_tri_true, Gia_tri_false)
Sử dụng hàm gộp nhóm: Tại thẻ Desgin  nhấp vào Totals
- Khi đó lưới QBE (Query By Example - mẫu hỏi
theo ví dụ) có dạng như hình bên:
- Ở dòng Total có các hàm gộp nhóm như: SUM,
AVG, MAX, MIN, COUNT, ....
- Ý nghĩa mẫu hỏi hình bên: Tính điểm trung bình
môn toán theo tổ.
b2) Biểu thức số học: Được dùng để mô tả các trường tính toán
VD: Tien: [SoLuong] * [DonGia]
Tuoi: Year(Date())-Year([NgaySinh])
b3) Biểu thức logic được dùng để : Thiết lập bộ lọc cho bảng và là điều kiện lọc để tạo
mẫu hỏi
VD: [DoanVien] = yes AND [Tin] >= 8

5. MỘT SỐ VÍ DỤ
Yêu cầu Thực hiện ở dòng field
Tạo trường Tên đầy đủ Ho_ten: [Hodem]&" "&[ten]
Tạo trường tuổi (qua sinh nhật mới tính thêm Tuoi: (Date()-[NgSinh])\365
tuổi)
Tạo trường Thành tiền Thanh_tien: [SoLuong]*[Dongia]
Tạo trường Kết quả (KQ) dựa vào điểm TB. KQ: IIf([TB]>=5,"Đậu","Rớt")
Nếu điểm
TB >=5 thì ghi kết quả là “Đậu” còn lại ghi
“Rớt”
Tạo trường lớp là 3 ký tự đầu của mã sinh viên Lop: Left([MaSV],2)
Ngày nằm trong khoảng từ 2/2/1999 đến between #2/2/1999# and #1/12/1999
1/12/1999
Số nằm trong khoảng từ 15 đến 31 Between 15 and 31
Là đoàn viên Yes
Bắt đầu bằng chữ T "T*"
Là "Canada" hoặc "UK" in("canada","UK")
Độ dài của tên lớn hơn 30 kí tự Len([ten])>30
Kết thúc bằng từ "imports" "*imports"
Chứa cụm từ "ha" "*ha*"
Có 7 kí tự, chứa xâu "Maison” và một kí tự bất "Maison?"
kí ở cuối
Năm của NGAYSINH là 1999 year([NGAYSINH])=1999
Là giá trị trống Is Null
Có giá trị (khác rỗng) Is not Null
Tên không bắt đầu bằng T Not "T*"

Bài tập và thực hành 6


MẪU HỎI TRÊN MỘT BẢNG
A. Phần thực hành:
Yêu cầu 1: Làm bài thực hành 06 trong SGK trang 67.
Yêu cầu 2: Hãy tạo một số mẫu hỏi sau ngay trong CSDL QuanLi_HS:
1. Hiển thị danh sách gồm họ tên học sinh có điểm Toan >=9 hoặc Ly >= 9.
2. Hiển thị danh sách gồm họ tên học sinh có điểm Toan >=7, Ly >= 6 và Hoa >=5.
3. Danh sách gồm họ tên học sinh và điểm các môn (Điều kiện có bất kỳ điểm môn nào đó dưới 5)
4. Hiển thị danh sách gồm họ tên, ngày sinh của những học sinh có Ten bắt đầu là Q.
5. Liệt kê danh sách học sinh nam sinh tháng 12 gồm: họ tên, giới tính,ngày sinh
6. Lập danh sách cho biết điểm trung bình của từng học sinh gồm: mã số,họ tên, giới tính, điểm TB
(lưu ý sắp xếp theo điểm trung bình giảm dần)
7. Lập danh sách học sinh gồm họ tên , phái, ngày sinh với những học sinh có kí tự đầu tiên của tên nằm
trong khoảng từ A đến M.
8. Hiển thị danh sách học sinh có ngày sinh từ 1 đến 15 gồm: mã học sinh, họ tên, ngày sinh.
9. Hiểm thị danh sách học sinh gồm : Mã HS, họ tên, tuổi (qua sinh nhật mới tính thêm tuổi)
10. Lập danh sách gồm có 3cột (Họ đệm, tên, đoàn phí ) của những học sinh là đoàn viên để thu đoàn phí
với số tiền đoàn phí được nhập từ bàn phím.
11. Lập danh sách cho biết số học sinh nữ theo từng tổ.

You might also like