Skip to main content

Accessing Data

Cấu trúc của lệnh SELECT​

SELECT
[col1], [col2], ...
FROM
[table_name]
WHERE
[condition]
ORDER BY
[col1] ASC|DESC,
[col2] ASC|DESC,

Mệnh đề WHERE​

Các phép toán lô-gíc (logical)​

  • AND: dùng để kết hợp các mệnh đề với nhau, trả về TRUE nếu tất cả các mệnh đề đều đúng.
  • OR: dùng để kết hợp các mệnh đề với nhau, trả về TRUE nếu một trong các mệnh đề đúng.
  • NOT: dùng để phủ định kết quả của mệnh đề.
  • LIKE: dùng để so sánh một giá trị với một chuỗi ký tự.
  • IN: dùng để kiểm tra xem một giá trị có nằm trong một danh sách các giá trị hay không.
  • BETWEEN: value1 AND value2 dùng để kiểm tra xem một giá trị có nằm trong một khoảng giá trị hay không.
  • EXISTS: dùng để kiểm tra sự tồn tại của một bản ghi trong một bảng con.
  • ANY: dùng để so sánh với một danh sách các giá trị và trả về TRUE nếu bất kỳ giá trị nào trong danh sách đó khớp với giá trị được so sánh.
  • SOME: cũng tương tự như ANY, nó cũng dùng để so sánh với một danh sách các giá trị và trả về TRUE nếu bất kỳ giá trị nào trong danh sách đó khớp với giá trị được so sánh.
  • ALL: dùng để so sánh với một danh sách các giá trị và trả về TRUE nếu tất cả các giá trị trong danh sách đó khớp với giá trị được so sánh.

Các phép toán so sánh (comparison)​

= <> != > >= < <=

Mệnh đề ORDER BY​

Dùng để sắp xếp kết quả truy vấn.

Tăng dần ASC​

Dùng để sắp xếp tăng dần

SELECT [col1], [col2], ...
FROM [table_name]
ORDER BY [col1] ASC

Giảm dần DESC​

Dùng để sắp xếp giảm dần

SELECT [col1], [col2], ...
FROM [table_name]
ORDER BY [col1] DESC

DISTINCT​

Dùng để loại bỏ các giá trị trùng lặp trong kết quả truy vấn.

SELECT DISTINCT [col1], [col2], ...
FROM [table_name]

TOP & TOP PERCENT​

TOP number​

Dùng để giới hạn số lượng bản ghi trả về.

SELECT TOP 10 [col1], [col2], ...
FROM [table_name]

TOP number PERCENT​

Dùng để giới hạn số lượng bản ghi trả về theo phần trăm.

SELECT TOP 10 PERCENT [col1], [col2], ...
FROM [table_name]

WITH TIES​

Dùng để bao gồm các bản ghi có giá trị cuối cùng bằng với giá trị của bản ghi cuối cùng trong danh sách. Kết hợp với mệnh đề ORDER BY để sắp xếp trước khi lấy TOP.

SELECT TOP 10 WITH TIES [Id], [Name], [Discount]
FROM [Products]
ORDER BY [Discount] DESC

Mệnh đề GROUP BY​

GROUP BY​

Dùng để nhóm các bản ghi có cùng giá trị của một hoặc nhiều cột.

SELECT [col1], [col2], ...
FROM [table_name]
GROUP BY [col1], [col2], ...

GROUP BY WITH AGGREGATE FUNCTIONS​

  • COUNT
SELECT COUNT([col1])
FROM [table_name]
GROUP BY [col1]

HAVING​

Dùng để lọc các bản ghi sau khi đã nhóm.

SELECT [col1], [col2], ...
FROM [table_name]
GROUP BY [col1], [col2], ...
HAVING [condition]

SELECT INTO​

Dùng để tạo bảng mới từ kết quả truy vấn.

SELECT [col1], [col2], ...
INTO [new_table_name]
FROM [table_name]
WHERE [condition]