Access SQL: khái niệm cơ bản, từ vựng và cú pháp

Access SQL: khái niệm cơ bản, từ vựng và cú pháp

Quan trọng:  Bài viết này là dịch máy, hãy xem tuyên bố miễn trừ trách nhiệm. Bạn hãy tìm phiên bản tiếng Anh của bài viết này tại đây để tham khảo.

Khi bạn 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, hoặc SQL. SQL là một ngôn ngữ máy tính mà chặt chẽ tương tự như tiếng Anh, nhưng mà chương trình cơ sở dữ liệu hiểu. Mỗi truy vấn mà bạn chạy dùng SQL ở phía sau.

Tìm hiểu về cách hoạt động của SQL có thể giúp bạn tạo truy vấn tốt hơn và có thể dễ dàng hơn cho bạn để tìm hiểu về cách sửa lỗi truy vấn mà không trả về kết quả mà bạn muốn.

Đây là một trong một tập hợp các bài viết về Access SQL. Bài viết này mô tả sử dụng cơ bản của SQL để chọn dữ liệu và sử dụng ví dụ để minh họa cú pháp SQL.

Trong bài viết này

SQL là gì?

Mệnh đề SQL cơ bản: chọn, từ, và vị trí

Sắp xếp kết quả: theo thứ tự

Làm việc với dữ liệu tóm tắt: nhóm theo và HAVING

Kết hợp kết quả truy vấn: UNION

SQL là gì?

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ẳng hạn như Microsoft Office Access, dùng SQL để làm việc với dữ liệu. Không giống như nhiều máy tính ngôn ngữ, SQL không phải là khó đọc và hiểu, thậm chí cho một người mới. Giống như nhiều máy tính ngôn ngữ, SQL là một chuẩn quốc tế được nhận dạng bởi cơ quan tiêu chuẩn, chẳng hạn như ISOANSI.

Bạn sử dụng SQL để mô tả bộ dữ liệu có thể giúp bạn trả lời câu hỏi. Khi bạn dùng SQL, bạn phải sử dụng đúng cú pháp. Cú pháp là bộ quy tắc mà các thành phần của một ngôn ngữ được kết hợp chính xác. Cú pháp SQL dựa trên tiếng Anh cú pháp và sử dụng nhiều người cùng một thành phần như Visual Basic for Applications (VBA) cú pháp.

Ví dụ, một câu lệnh SQL đơn giản truy xuất danh sách của họ cho liên hệ có tên là Mary có thể giống như sau:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

Ghi chú: SQL không được chỉ dùng cho thao tác với dữ liệu, nhưng để tạo và thay đổi thiết kế của đối tượng cơ sở dữ liệu, chẳng hạn như bảng. Một phần của SQL được dùng để tạo và thay đổi đối tượng cơ sở dữ liệu được gọi là ngôn ngữ định nghĩa dữ liệu (DDL). Chủ đề này không đề cập DDL. Để biết thêm thông tin, hãy xem bài viết tạo hoặc sửa đổi bảng hoặc chỉ mục bằng cách sử dụng truy vấn định nghĩa dữ liệu.

Câu lệnh SELECT

Để mô tả một tập dữ liệu bằng cách dùng SQL, bạn viết một câu lệnh Select. Câu lệnh Select có chứa một mô tả đầy đủ của một tập dữ liệu mà bạn muốn lấy từ cơ sở dữ liệu. Điều này bao gồm các thao tác sau:

  • Bảng nào chứa dữ liệu.

  • Làm thế nào dữ liệu từ nguồn khác nhau liên quan.

  • Trường hoặc các phép tính nào sẽ tạo ra dữ liệu.

  • Tiêu chí dữ liệu phải khớp với được đưa vào.

  • Xem và làm thế nào để sắp xếp kết quả.

Mệnh đề SQL

Như một câu, một câu lệnh SQL có mệnh đề. Mệnh đề mỗi thực hiện một hàm cho câu lệnh SQL. Mệnh đề một số được yêu cầu trong một câu lệnh Select. Bảng sau đây liệt kê các mệnh đề SQL phổ biến nhất.

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ó

ĐỊA ĐIỂM

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

SẮP XẾP THEO

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 như

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

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.

Thuật ngữ SQL

So sánh từ loại

Định nghĩa

Ví dụ

mã định danh

Danh từ

Tên mà bạn dùng để xác định một đối tượng cơ sở dữ liệu, chẳng hạn như tên của một trường.

Khách hàng. [Số điện thoại]

toán tử

động từ hoặc phồn thể

Một từ khóa đại diện cho một thao tác hoặc điều chỉnh một thao tác.

AS

hằng số

Danh từ

Một giá trị không đổi, chẳng hạn như một số hoặc giá trị NULL.

42

biểu thức

tính từ

Một sự kết hợp các mã định danh, toán tử, hằng số và hàm định trị thành một giá trị duy nhất.

>= Products.[Unit Price]

Đầu trang

Mệnh đề SQL cơ bản: chọn, từ, và vị trí

Một câu lệnh SQL sẽ đưa vào biểu mẫu chung:

SELECT field_1
FROM table_1
WHERE criterion_1
;

Ghi chú: 

  • Truy nhập bỏ qua các dấu ngắt dòng trong một câu lệnh SQL. Tuy nhiên, hãy cân nhắc sử dụng một dòng cho mỗi mệnh đề để giúp cải thiện khả năng đọc câu lệnh SQL của bạn cho chính bạn và những người khác.

  • Mỗi câu lệnh chọn kết thúc bằng một dấu chấm phẩy (;). Dấu chấm phẩy có thể xuất hiện ở phần cuối của mệnh đề cuối cùng hoặc trên một dòng đơn lẻ ở phần cuối của câu lệnh SQL.

Ví dụ trong Access

Các thao tác sau đây minh họa gì một câu lệnh SQL cho một truy vấn chọn đơn giản có thể trông giống như trong Access:

Tab đối tượng SQL hiển thị một câu lệnh SELECT

1. mệnh đề SELECT

2. mệnh đề FROM

3. mệnh đề WHERE

Ví dụ này câu lệnh SQL đọc "Chọn dữ liệu được lưu trữ trong các trường có tên công ty và địa chỉ email từ bảng có tên liên hệ, cụ thể là những bản ghi trong đó giá trị của trường thành phố là Seattle."

Hãy nhìn vào ví dụ, một mệnh đề tại một thời điểm, để xem cách cú pháp SQL.

Mệnh đề SELECT

SELECT [E-mail Address], Company

Đây là mệnh đề SELECT. Nó bao gồm các toán tử (chọn) theo sau là hai mã định danh ([E-mail Address] và công ty).

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.

Mệnh đề SELECT không có thành bảng nào chứa các trường và nó không thể xác định bất kỳ điều kiện phải được thỏa mãn bằng dữ liệu được đưa vào.

Mệnh đề SELECT luôn xuất hiện ở trước mệnh đề FROM trong một câu lệnh Select.

Mệnh đề FROM

FROM Contacts

Đây là mệnh đề FROM. Nó bao gồm các toán tử (từ) theo sau là một mã định danh (liên hệ).

Mệnh đề FROM không liệt kê các trường được chọn.

Mệnh đề WHERE

WHERE City="Seattle"

Đây là mệnh đề WHERE. Nó bao gồm các toán tử (nơi) theo sau là một biểu thức (City = "Seattle").

Ghi chú: Không giống như chọn và từ mệnh đề, 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ạn có thể thực hiện nhiều hành động SQL cho phép bạn thực hiện bằng cách dùng chọn, từ, và mệnh đề WHERE. Thêm thông tin về cách bạn sử dụng các mệnh đề được trình bày trong các bài viết bổ sung này:

Đầu trang

Sắp xếp kết quả: theo thứ tự

Giống như Microsoft 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 đề thứ tự bằng, nó là mệnh đề cuối cùng trong câu lệnh SQL.

Mệnh đề thứ tự theo chứa danh sách các trường mà bạn muốn dùng để sắp xếp, cùng thứ tự mà bạn muốn áp dụng các thao tác sắp xếp.

Ví dụ, giả sử bạn muốn kết quả của bạn được sắp xếp theo giá trị của trường công ty trong giảm dần, và — nếu có các bản ghi có giá trị giống nhau cho công ty — tiếp theo được sắp xếp theo giá trị trong trường địa chỉ email ở thứ tự tăng dần. Mệnh đề thứ tự theo của bạn sẽ giống như sau:

ORDER BY Company DESC, [E-mail Address]

Ghi chú: Theo mặc định, Access sắp xếp các giá trị theo thứ tự (A-Z, nhỏ nhất đến lớn nhất). Dùng từ khóa DESC để sắp xếp các giá trị trong thứ tự giảm dần thay vào đó.

Để biết thêm thông tin về mệnh đề thứ tự theo, hãy xem chủ đề thứ tự theo mệnh đề.

Đầu trang

Làm việc với dữ liệu tóm tắt: nhóm theo và HAVING

Đôi khi bạn muốn làm việc với dữ liệu tóm tắt, chẳng hạn như tổng doanh thu trong một tháng, hoặc các mục tốn kém nhất trong một hàng tồn kho. Để thực hiện điều này, bạn áp dụng một hàm tổng hợp cho một trường trong mệnh đề SELECT. Ví dụ, nếu bạn muốn truy vấn của bạn để hiển thị số địa chỉ email được liệt kê cho mỗi công ty, mệnh đề SELECT có thể giống như các thao tác sau:

SELECT COUNT([E-mail Address]), Company

Các hàm tổng hợp, bạn có thể dùng phụ thuộc vào loại dữ liệu trong trường hoặc biểu thức mà bạn muốn dùng. Để biết thêm thông tin về các hàm tổng hợp có sẵn, hãy xem bài viết Hàm tổng hợp SQL.

Cách xác định các trường không được sử dụng trong một hàm tổng hợp: các nhóm theo mệnh đề

Khi bạn sử dụng hàm tổng hợp, bạn thường cũng phải tạo một 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. Nếu bạn áp dụng các hàm tổng hợp cho tất cả các trường trong một truy vấn, bạn không có để tạo mệnh đề GROUP BY.

Một mệnh đề GROUP BY ngay lập tức sau mệnh đề WHERE, hoặc mệnh đề FROM nếu không có mệnh đề WHERE không. Mệnh đề GROUP BY một danh sách các trường khi chúng xuất hiện trong mệnh đề SELECT.

Ví dụ, tiếp tục ví dụ trước, nếu mệnh đề SELECT áp dụng một hàm tổng hợp cho [E-mail Address] nhưng không thể với công ty, mệnh đề GROUP BY của bạn sẽ giống như các thao tác sau:

GROUP BY Company

Để biết thêm thông tin về mệnh đề GROUP BY, hãy xem chủ đề mệnh đề GROUP BY.

Hạn chế các giá trị tổng hợp bằng cách sử dụng tiêu chí Nhóm: mệnh đề 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.

Ví dụ, giả sử bạn sử dụng hàm trung bình (đó tính một giá trị trung bình) với trường đầu tiên trong mệnh đề SELECT:

SELECT COUNT([E-mail Address]), Company

Nếu bạn muốn truy vấn để hạn chế kết quả dựa trên giá trị của hàm COUNT đó, bạn không thể sử dụng một tiêu chí cho trường đó trong mệnh đề WHERE. Thay vào đó, bạn đặt các tiêu chí trong mệnh đề HAVING. Ví dụ, nếu bạn chỉ muốn truy vấn để trả về hàng nếu có nhiều hơn một email địa chỉ liên kết với công ty, mệnh đề HAVING có thể giống như các thao tác sau:

HAVING COUNT([E-mail Address])>1

Ghi chú: Một truy vấn có thể có mệnh đề WHERE và mệnh đề HAVING — các tiêu chí cho các trường không được sử dụng hàm tổng hợp đi trong mệnh đề WHERE, và tiêu chí cho trường được sử dụng với hàm tổng hợp đi trong mệnh đề HAVING.

Để biết thêm thông tin về mệnh đề HAVING, hãy xem chủ đề HAVING mệnh đề.

Đầu trang

Kết hợp kết quả truy vấn: UNION

Khi bạn muốn xem lại tất cả dữ liệu được trả về bằng một vài truy vấn chọn tương tự nhau, như một tập hợp kết hợp, bạn có thể sử dụng toán tử UNION.

Toán tử liên kết cho phép bạn kết hợp hai câu lệnh SELECT vào một. Câu lệnh SELECT bạn kết hợp phải có cùng số trường đầu ra, trong cùng một đơn hàng, và với các kiểu dữ liệu giống nhau hoặc tương thích. Khi bạn chạy truy vấn, dữ liệu từ mỗi bộ trường tương ứng được kết hợp thành một trường đầu ra, sao cho đầu ra truy vấn có cùng số trường như mỗi câu lệnh select.

Ghi chú: Để thực hiện truy vấn hợp, kiểu dữ liệu Số và Văn bản là tương thích.

Khi bạn sử dụng toán tử liên kết, bạn cũng có thể xác định xem kết quả truy vấn sẽ bao gồm các hàng trùng lặp, nếu bất kỳ tồn tại, bằng cách dùng từ khóa tất cả.

Cú pháp SQL cơ bản cho một truy vấn hợp kết hợp hai câu lệnh chọn là như sau:

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

Ví dụ, giả sử bạn có một bảng có tên sản phẩm và bảng có tên là dịch vụ khác. Cả hai bảng có trường có chứa tên sản phẩm hoặc dịch vụ, price, bảo đảm hoặc đảm bảo tính khả dụng, và việc bạn cung cấp dịch vụ sản phẩm hoặc dịch vụ riêng. Mặc dù bảng sản phẩm lưu trữ thông tin bảo hành, và lưu trữ bảng dịch vụ đảm bảo thông tin, thông tin cơ bản là tương tự (có một sản phẩm cụ thể hoặc dịch vụ bao gồm lời hứa chất lượng). Bạn có thể sử dụng truy vấn hợp, chẳng hạn như các thao tác sau để kết hợp bốn trường từ hai bảng:

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

Để biết thêm thông tin về cách kết hợp câu lệnh SELECT bằng cách sử dụng toán tử liên kết, hãy xem kết hợp kết quả của vài truy vấn chọn bằng cách sử dụng truy vấn hợp.

Đầu trang

Ghi chú: Tuyên bố miễn trừ trách nhiệm Dịch Máy: Bài viết này do một hệ thống máy tính dịch mà không có sự can thiệp của con người. Microsoft cung cấp những bản dịch máy này để giúp người dùng không nói tiếng Anh hiểu nội dung về các sản phẩm, dịch vụ và công nghệ của Microsoft. Do bài viết này được dịch máy nên có thể có các lỗi về từ vựng, cú pháp hoặc ngữ pháp.

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×