Tải bản đầy đủ (.docx) (16 trang)

Ngôn ngữ SQL trong microsoft access

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (698.64 KB, 16 trang )

L.V.D

GIỚ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.

1


L.V.D

1.

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


L.V.D

3.

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 đề Có
SELECT.

WHERE

Chỉ rõ các tiêu chí mà trường phải đáp ứng theo từng bản Không
ghi được đưa vào kết quả.

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õ Không
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.

3


L.V.D

a, 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ì

4


L.V.D

+ 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

5


L.V.D

+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
ON Orders.Ma_khac_hang=Customers.Ma.khach_hang;

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
6


L.V.D

thì 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:


7


L.V.D

Ta 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 đề
8


L.V.D

FROM 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ý
9


L.V.D

SELECT 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

10


L.V.D


g, 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

11


L.V.D



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
12



L.V.D



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,…)

13


L.V.D

Hay

14


L.V.D



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 đó
Cú pháp :

15


L.V.D

SELECT trường_1, trường2, ...
INTO tên_bảng_mới
FROM bảng_nguồn
//WHERE biểu_thức_điều_kiện;

16



×