SQL trong Access: Mệnh đề SELECT

Áp dụng cho
Access cho Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Bài viết này là một phần của tập hợp về SQL trong Access. Bài viết giải thích cách viết một mệnh SELECT đề và trình bày ví dụ về các kỹ thuật bạn có thể sử dụng.

Để biết tổng quan SQL trong Access, xem bài viết SQL trong Access: khái niệm cơ bản, từ vựng và cú pháp.

Trong bài viết này

Chọn trường: mệnh đề SELECT

Một SELECT câu lệnh thường sẽ bắt đầu bằng một SELECT mệnh đề. Sử dụng mệnh đề để chỉ định các trường chứa dữ liệu bạn muốn có trong truy vấn. Bạn cũng có thể sử dụng biểu thức thay cho hoặc bổ sung cho trường. Bạn còn có thể sử dụng một câu lệnh khác SELECT làm trường. Đây được gọi là truy vấn con.

Giả sử bạn muốn biết số điện thoại của khách hàng của mình. Nếu trường lưu trữ những số đó được đặt tên thì txtCustomerPhonemệnh SELECT đề sẽ trông như sau:

SELECT [txtCustomerPhone]

Bạn có thể sử dụng dấu ngoặc vuông để bao quanh tên. Nếu tên không chứa dấu cách hoặc ký tự đặc biệt thì không nhất thiết phải sử dụng dấu ngoặc này. Nếu có, bạn phải sử dụng chúng.

Mẹo

Tên có chứa khoảng trắng sẽ dễ đọc hơn và có thể giúp tiết kiệm thời gian khi bạn thiết kế biểu mẫu và báo cáo nhưng lại có thể khiến bạn phải nhập nhiều hơn khi viết câu lệnh SQL. Bạn nên cân nhắc dữ kiện này khi đặt tên cho đối tượng trong cơ sở dữ liệu Access.

Nếu câu lệnh SQL của bạn chứa hai trường có cùng tên trở lên, hãy thêm tên nguồn dữ liệu của từng trường vào mệnh SELECT đề. Sử dụng cùng một tên nguồn dữ liệu mà bạn dùng trong mệnh FROM đề.

Chọn tất cả các trường

Khi muốn đưa vào tất cả các trường từ một nguồn dữ liệu, bạn có thể liệt kê chúng từng trường trong mệnh SELECT đề hoặc sử dụng ký tự đại diện dấu sao (*). Khi bạn sử dụng dấu sao, Access sẽ xác định những trường mà nguồn dữ liệu có chứa khi truy vấn chạy và bao gồm tất cả các trường đó. Điều này giúp truy vấn luôn cập nhật khi có trường mới được thêm vào nguồn dữ liệu.

Bạn có thể sử dụng dấu sao kèm theo một hoặc nhiều nguồn dữ liệu trong một câu lệnh SQL. Nếu bạn sử dụng dấu sao với nhiều nguồn dữ liệu, hãy đưa tên nguồn dữ liệu vào dấu sao để Access có thể xác định nguồn cần sử dụng.

Ví dụ: giả sử bạn muốn chọn tất cả các trường từ bảng Orders nhưng chỉ chọn địa chỉ email từ Contacts bảng. Mệnh đề của bạn SELECT có thể giống như thế này:

SELECT Orders.*, Contacts.[E-mail Address]

Lưu ý

Theo dõi thời điểm bạn sử dụng dấu sao. Nếu sau này, ai đó thêm các trường mới vào nguồn dữ liệu nhưng bạn đã không dự tính đến các trường này thì kết quả truy vấn có thể không như mong muốn.

Chọn các giá trị riêng biệt

Nếu bạn biết câu lệnh của mình sẽ trả về dữ liệu trùng lặp và bạn chỉ muốn xem các giá trị khác biệt, hãy sử dụng DISTINCT từ khóa trong mệnh đề của bạn SELECT . Ví dụ: nếu một số khách hàng quan tâm sử dụng cùng một số điện thoại, DISTINCT hãy đảm bảo rằng bạn chỉ thấy mỗi số điện thoại một lần:

SELECT DISTINCT [txtCustomerPhone]

Sử dụng tên thay thế cho các trường hoặc biểu thức: từ khóa AS

Bạn có thể thay đổi nhãn được hiển thị cho bất kỳ trường nào ở dạng xem Biểu dữ liệu bằng cách sử dụng AS từ khóa và biệt danh trường trong mệnh đề của bạn SELECT . Biệt danh trường là tên bạn gán cho một trường trong truy vấn để dễ đọc kết quả hơn. Ví dụ: nếu bạn muốn chọn dữ liệu từ một trường có tên là txtCustPhone, bạn có thể giúp dễ đọc kết quả hơn bằng cách sử dụng một bí danh trường:

SELECT [txtCustPhone] AS [Customer Phone]

Lưu ý

Bạn phải sử dụng biệt danh trường khi sử dụng biểu thức trong mệnh SELECT đề.

Chọn bằng cách sử dụng biểu thức

Đôi khi, bạn muốn xem tính toán dựa trên dữ liệu của mình hoặc chỉ trả về một phần giá trị của trường. Ví dụ: giả sử bạn muốn trả về năm sinh của khách hàng dựa trên dữ liệu trong BirthDate trường. Mệnh đề của bạn SELECT có thể giống như thế này:

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]

Biểu thức này sử dụng hàm DatePart và hai tham đối: "yyyy" (một hằng số) và [BirthDate] (một mã định danh).

Bạn có thể sử dụng mọi biểu thức hợp lệ làm trường nếu biểu thức trả về một giá trị duy nhất cho một giá trị đầu vào.

Quay lại đầu trang