Select (SQL)

Câu lệnh SELECT (mang nghĩa lấy dữ liệu hay câu lệnh truy vấn) trong SQL trả về một tập kết quả các bản ghi từ một hoặc nhiều bảng.

Nó được sử dụng để lấy dữ liệu từ một hoặc nhiều bảng trong cơ sở dữ liệu, SELECT là lệnh thường dùng nhất của ngôn ngữ sửa đổi dữ liệu (tiếng Anh: Data Manipulation Language - DML). Trong việc tạo ra câu truy vấn SELECT, người sử dụng phải đưa ra mô tả cho những dữ liệu mình muốn lấy ra chứ không chỉ ra những hành động vật lý nào bắt buộc phải thực hiện để lấy ra kết quả đó. Hệ thống cơ sở dữ liệu, hay chính xác hơn là bộ tối ưu hoá câu truy vấn (tiếng Anh: query optimizer) sẽ dịch từ câu truy vấn sang kế hoạch truy vấn tối ưu.

Những từ khóa liên quan tới SELECT bao gồm:

  • FROM dùng để chỉ định dữ liệu sẽ được lấy ra từ những bảng nào, và các bảng đó quan hệ với nhau như thế nào.
  • WHERE điều kiện để liên kết các bảng hoặc điều kiện để lấy những thuộc tính từ bảng from.
  • GROUP BY dùng để kết hợp các bản ghi có những giá trị liên quan với nhau thành các phần tử của một tập hợp nhỏ hơn các bản ghi.
  • HAVING dùng để xác định những bản ghi nào, là kết quả từ từ khóa GROUP BY, sẽ được lấy ra.
  • ORDER BY dùng để xác định dữ liệu lấy ra sẽ được sắp xếp theo những cột nào.

Ví dụ

Bảng "T" Câu truy vấn Kết quả
C1 C2
1 a
2 b
SELECT * FROM T;
C1 C2
1 a
2 b
C1 C2
1 a
2 b
SELECT C1 FROM T;
C1
1
2
C1 C2
1 a
2 b
SELECT * FROM T WHERE C1 = 1;
C1 C2
1 a

Cho một bảng T, câu truy vấn SELECT * FROM T; sẽ trả về kết quả là tất cả các phần tử của tất cả các bản ghi trong bảng T.

Với cùng bảng đó, câu truy vấn SELECT C1 FROM T; sẽ trả về tất cả các phần tử của trường (cột) C1 của tất cả các bản ghi trong bảng T— Theo thuật ngữ Đại số quan hệ, một projection đã được thực hiện.

Cũng bản đó, câu truy vấn SELECT * FROM T WHERE C1 = 1; sẽ trả về kết quả là tất cả các phần tử của tất cả các bản ghi có giá trị của trường (cột) C1 bằng '1' — Theo thuật ngữ Đại số quan hệ, một selection được thực hiện vì đã có từ khóa WHERE.

Xem thêm

Tham khảo