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]