Tài liệu do nhóm học sinh K26 trường THPT Chuyên Thái Nguyên sưu tầm và lựa chọn Các VD được lấy từ internet và tự làm Chúng tôi thực hiện trong thời gian ngắn nên không thể tránh khỏi các sai sót, mong các bạn bỏ qua
Trang 1GIỚI THIỆU VỀ Microsoft Access
SQL
Khi chúng ta muốn truy xuất dữ liệu từ cơ sở dữ liệu, bạn yêu cầu dữ liệu bằng cách sử dụng ngôn ngữ truy vấn có cấu trúc là
SQL SQL là một ngôn ngữ tính chặt chẽ tương tự như tiếng
Anh tìm hiểu về chương trình cơ sở dữ liệu
SQL là quan trọng vì mỗi truy vấn trong Microsoft Access sử
dụng SQL Tìm hiểu về cách hoạt động của SQL có thể giúp
tạo truy vấn tốt hơn và có thể dễ dàng hơn cho bạn để sửa một truy vấn khi nó không trả về kết quả mà bạn muốn.
Trang 21. Khái niệm
SQL (Structured Query Language) hay ngôn ngữ truy vấn mang tính cấu trúc, là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ Ngôn ngữ này phát triển vượt xa so với mục đích ban đầu là để phục vụ các hệ quản trị cơ sở dữ liệu đối tượng-quan hệ
SQL là một ngôn ngữ máy tính để làm việc với tập dữ liệu và mối quan hệ giữa chúng Chương trình cơ sở dữ liệu quan hệ, chính là Access, dùng SQL để làm việc với dữ liệu Giống như nhiều máy tính ngôn ngữ, SQL là một tiêu chuẩn quốc tế được nhận ra cơ quan tiêu chuẩn chẳng hạn như ISO và ANSI
Là một ngôn ngữ phi thủ tục, SQL không cần phải quan tâm đến việc dữ liệu được lưu trữ thật sự như thế nào, ở đâu và có thể lấy ra bằng cách nào Cho phép truy vấn và khai thác dữ liệu một cách linh hoạt
Ví dụ, một câu lệnh SQL đơn giản để mà truy xuất danh sách Tên của các liên hệ có họ là lưu có thể giống như sau:
SELECT Ten FROM Danh_ba WHERE Ho = 'Luu';
2. Thuật ngữ SQL
Mỗi mệnh đề SQL được bao gồm các thuật ngữ — so sánh với các phần của lời nói Bảng sau đây liệt kê các kiểu thuật ngữ SQL
Trang 33. Các mệnh đề
Mệnh đề
SQL
Tính năng của chúng Bắt buộc
SELECT Liệt kê tất cả các trường có dữ liệu đáng quan tâm Có
FROM Liệt kê các bảng có các trường được liệt kê trong mệnh đề
SELECT.
Có
WHERE Chỉ rõ các tiêu chí mà trường phải đáp ứng theo từng bản
ghi được đưa vào kết quả.
Không
ORDER BY Chỉ rõ cách sắp xếp kết quả Không
GROUP BY Trong một câu lệnh SQL có các hàm tổng hợp, nó liệt kê
các trường không được tóm tắt trong mệnh đề SELECT.
Chỉ khi có các trường
HAVING Trong một câu lệnh SQL có các hàm tổng hợp, nó chỉ rõ
các điều kiện áp dụng cho các trường được tóm tắt trong câu lệnh SELECT.
Không
Trang 4a, Mệnh đề cơ bản: chọn, từ, vị trí
Một câu lệnh SQL sẽ đưa vào biểu mẫu chung:
SELECT field FROM table WHERE criterion;
Trong đó:
+ field: Là danh sách các trường được đưa vào kết quả truy
vấn
+ table: Là danh sách các bảng mà từ đó các trường được
lấy ra
+ criterion: Là một biểu thức logic xác định các bản ghi thoả
mãn điều kiện của câu lệnh
Lưu ý: Dấu chấm phẩy có thể xuất hiện ở mệnh đề cuối cùng hoặc trên mỗi dòng ở phần cuối của các câu lệnh SQL
- Select: Nếu mã định danh chứa khoảng trắng hoặc các ký
tự đặc biệt (chẳng hạn như "địa chỉ email"), nó phải nằm trong dấu ngoặc vuông
Ta có thể thêm thuộc tính lựa chọn vào sau SELECT:
+ SELECT ALL: trả về mọi bản ghi trong bảng, không cần biết sau đó là gì
Trang 5+ SELECT DISTINCT/ DISTINCT: Loại bỏ các bản ghi trùng lặp dựa vào các trường trong tập động
Trang 6+SELECT TOP X/X percent : Lấy X hoặc X % số bản ghi từ trên xuống
- From: Nếu muốn lấy từ nhiều bảng khác nhau, ta phải
dùng tác vụ JOIN
SELECT Customers.Nguoi_mua, Orders.Ma_Don_Hang, Orders.Ngay_Mua
FROM Orders
INNER JOIN Customers
- Where: mệnh đề WHERE là không phải là một phần bắt
buộc của câu lệnh Select
b, Sắp xếp kết quả: theo thứ tự
Giống như Microsoft Office Excel, Access cho phép bạn sắp xếp kết quả truy vấn trong một biểu dữ liệu Bạn cũng có thể xác định trong truy vấn làm thế nào bạn muốn sắp xếp kết quả khi truy vấn đang chạy, bằng cách sử dụng một thứ tự theo mệnh đề Nếu bạn dùng mệnh đề theo thứ tự bằng, nó là mệnh đề cuối cùng
trong câu lệnh SQL
Ví dụ, giả sử bạn muốn kết quả của bạn được sắp xếp theo giá trị điểm trung bình tăng dần — nếu có các điểm có giá trị giống nhau
Trang 7thì hãy sắp xếp theo tên tăng dần Mệnh đề thứ tự theo của bạn
sẽ giống như sau:
ORDER BY DIEM ASC , TEN ASC;
Lưu ý: ASC có thể không cần, vì mặc định Access sắp tăng A-Z, nhưng nếu muốn sắp giảm Z-A thì cần dùng DESC
c, Hiển thị các bản ghi theo nhóm : GROUP BY
Để hiển thị các bản ghi theo nhóm ta dùng mệnh đề GROUP
BY Một mệnh đề GROUP BY liệt kê tất cả các trường mà bạn sẽ không áp dụng một hàm tổng hợp
VD: Tính tổng học phí của học sinh:
Trang 8Ta dùng
SELECT HOCSINH.TEN, Sum(HOCSINH.HOCPHI)
FROM HOCSINH
GROUP BY HOCSINH.TEN
d, Hạn chế các giá trị tổng hợp : HAVING
Nếu bạn muốn sử dụng tiêu chí để giới hạn kết quả của bạn, nhưng trường mà bạn muốn áp dụng tiêu chí được sử dụng trong một hàm tổng hợp, bạn không thể dùng mệnh đề WHERE Thay vào đó, bạn dùng mệnh đề HAVING Mệnh đề HAVING hoạt động như một mệnh đề WHERE, nhưng được dùng để tổng hợp dữ liệu
Mệnh đề HAVING thường được sử dụng cùng mệnh đề
GROUP BY Sau HAVING là biểu thức điều kiện Biểu thức điều kiện này không tác động vào toàn bảng được chỉ ra ở mệnh đề
Trang 9FROM mà chỉ tác động lần lượt từng nhóm các bản ghi đã chỉ ra tại mệnh đề GROUP BY
Mệnh đề HAVING có thể chứa tối đa 40 biểu thức được nối bằng các toán tử lô-gic, chẳng hạn như And và Or
VD: Liệt kê những học sinh có Học phí lớn hơn 500000:
SELECT HOCSINH.TEN, Sum(HOCSINH.HOCPHI) FROM HOCSINH
GROUP BY HOCSINH.TEN HAVING Sum(HOCSINH.HOCPHI)>=500000
e, Truy vấn lồng nhau
- Trong lệnh SELECT có thể được lồng nhiều mức
VD: hiển thị tên và điểm của bạn có điểm >5 môn lý
Trang 10SELECT TEN,DIEM
FROM HOCSINH
WHERE (DIEM>=5) AND (MA_MON IN (SELECT MAMON FROM
MONHOC WHERE TEN_MON_HOC="LY"))
Kết quả:
f, Dùng tham số khi truy vấn
Ta sẽ nhập tham số mỗi lần cần truy vấn, khiến nó linh hoạt hơn
Trang 11g, Truy vấn hành động:
Là một truy vấn có khả năng làm thay đổi hoặc di chuyển nhiều bản ghi theo một tiêu chí lọc
Có 4 loại truy vấn hành động trong Access SQL:
• UPDATE ( Cập nhật)
Câu lệnh UPDATE dùng để thay đổi các giá trị trong một hoặc nhiều cột trong một truy vấn hoặc một bảng
Cú pháp :
UPDATE tên_bảng SET giá_trị_mới WHERE biểu_thức_điều_kiện
Trang 12• DELETE ( Xoá)
Xoá các bản ghi từ các bảng
Cú pháp :
DELETE tên_bảng FROM tên_bảng WHERE biểu_thức_điều_kiện
Trang 13• INSERT INTO ( Thêm vào)
Chèn một hàng hay các hàng từ một bảng hoặc truy vấn vào truy vấn khác
Cú pháp :
INSERT INTO tên_bảng_đích (trường_1, trường_2,….) VALUES (giá_trị_1, giá_trị_2,…)
Trang 14Hay
Trang 15• SELECT INTO ( Chọn vào)
Giống câu lệnh Insert Into, nhưng câu lệnh Select Into có thể tạo một bảng mới và sao chép dữ liệu vào bảng đó
Trang 16SELECT trường_1, trường2,