Lấy dữ liệu bằng truy vấn SQL: Giới thiệu câu lệnh SELECT

Ngôn ngữ truy vấn có cấu trúc cung cấp cho người dùng cơ sở dữ liệu một cơ chế truy xuất dữ liệu mạnh mẽ và linh hoạt - câu lệnh SELECT. Trong bài viết này, chúng ta sẽ xem xét biểu mẫu chung của câu lệnh SELECT và soạn một vài truy vấn cơ sở dữ liệu mẫu với nhau. Nếu đây là bước đột phá đầu tiên của bạn vào thế giới của Ngôn ngữ truy vấn có cấu trúc, bạn có thể xem lại bài viết Các nguyên tắc cơ bản về SQL trước khi tiếp tục.

Nếu bạn đang tìm cách thiết kế một cơ sở dữ liệu mới từ đầu, bài viết Tạo cơ sở dữ liệu và các bảng trong SQL sẽ chứng minh một điểm nhảy tốt.

Bây giờ bạn đã tìm hiểu những điều cơ bản, hãy bắt đầu khám phá câu lệnh SELECT. Như với các bài học SQL trước, chúng ta sẽ tiếp tục sử dụng các câu lệnh tuân thủ tiêu chuẩn SQL ANSI. Bạn có thể tham khảo tài liệu cho DBMS của bạn để xác định xem nó có hỗ trợ các tùy chọn nâng cao có thể nâng cao hiệu quả và / hoặc hiệu quả của mã SQL của bạn hay không.

Biểu mẫu chung của câu lệnh SELECT

Dạng chung của câu lệnh SELECT xuất hiện bên dưới:

SELECT select_list
TỪ nguồn
WHERE điều kiện (s)
Biểu thức GROUP BY
HAVING điều kiện
ORDER BY biểu thức

Dòng đầu tiên của câu lệnh nói với bộ xử lý SQL rằng lệnh này là một câu lệnh SELECT và chúng ta muốn lấy thông tin từ một cơ sở dữ liệu. Danh sách select_list cho phép chúng tôi chỉ định loại thông tin mà chúng tôi muốn truy xuất.

Mệnh đề FROM trong dòng thứ hai chỉ rõ các bảng cơ sở dữ liệu cụ thể có liên quan và mệnh đề WHERE cho chúng ta khả năng giới hạn các kết quả cho các bản ghi đáp ứng (các) điều kiện được chỉ định. Ba mệnh đề cuối cùng đại diện cho các tính năng nâng cao nằm ngoài phạm vi của bài viết này - chúng ta sẽ khám phá chúng trong các bài viết SQL trong tương lai.

Cách dễ nhất để tìm hiểu SQL là ví dụ. Với ý nghĩ đó, chúng ta hãy bắt đầu xem xét một số truy vấn cơ sở dữ liệu. Trong suốt bài viết này, chúng tôi sẽ sử dụng bảng của nhân viên từ cơ sở dữ liệu nguồn nhân lực XYZ Corporation để minh họa tất cả các truy vấn của chúng tôi. Đây là toàn bộ bảng:

Mã hiệu công nhân

Họ

Tên đầu tiên

Mức lương

ReportsTo

1

thợ rèn

John

32000

2

2

Scampi

Sue

45000

VÔ GIÁ TRỊ

3

Kendall

Tom

29500

2

4 Jones Abraham 35000 2
5 Allen Hóa đơn 17250 4
6 Reynolds Allison 19500 4
7 Johnson Katie 21000 3

Truy xuất toàn bộ bảng

Giám đốc Nhân sự của XYZ nhận được báo cáo hàng tháng cung cấp thông tin về lương và báo cáo cho từng nhân viên của công ty. Việc tạo ra báo cáo này là một ví dụ về biểu mẫu đơn giản nhất của câu lệnh SELECT. Nó chỉ đơn giản là lấy tất cả các thông tin chứa trong một bảng cơ sở dữ liệu - mỗi cột và mỗi hàng. Đây là truy vấn sẽ thực hiện kết quả này:

LỰA CHỌN *
TỪ nhân viên

Khá đơn giản, phải không? Dấu hoa thị (*) xuất hiện trong select_list là một ký tự đại diện được sử dụng để thông báo cho cơ sở dữ liệu mà chúng tôi muốn lấy thông tin từ tất cả các cột trong bảng của nhân viên được xác định trong mệnh đề FROM. Chúng tôi muốn lấy tất cả thông tin trong cơ sở dữ liệu, vì vậy không cần thiết phải sử dụng mệnh đề WHERE để hạn chế các hàng được chọn từ bảng.

Dưới đây là kết quả truy vấn của chúng tôi:

Mã hiệu công nhân Họ Tên đầu tiên Mức lương ReportsTo
---------- -------- --------- ------ ---------
1 thợ rèn John 32000 2
2 Scampi Sue 45000 VÔ GIÁ TRỊ
3 Kendall Tom 29500 2
4 Jones Abraham 35000 2
5 Allen Hóa đơn 17250 4
6 Reynolds Allison 19500 4
7 Johnson Katie 21000 3