Latest Post

Tăng thứ hạng và truy cập tự nhiên với 10 phương pháp SEO hay nhất Kiếm Tiền Online (mmo): Khái Niệm và Các Hình Thức Phổ Biến

Câu lệnh SQL `SELECT` trong PostgreSQL là một trong bốn lệnh SQL cơ bản, chúng có nhiệm vụ truy vấn và trích xuất dữ liệu từ bảng trong cơ sở dữ liệu. Đây là một trong những câu lệnh SQL phổ biến nhất mà bạn sẽ sử dụng thường xuyên khi làm việc với cơ sở dữ liệu.

Bên cạnh việc sử dụng cơ bản, câu lệnh `SELECT` còn có thể kết hợp với các điều kiện như `WHERE`, nhóm dữ liệu bằng `GROUP BY`, và nhiều tính năng khác để phục vụ các mục đích cụ thể khi bạn cần truy xuất dữ liệu từ cơ sở dữ liệu. Dưới đây là một số ví dụ về cách kết hợp câu lệnh `SELECT` với các điều kiện và mệnh đề khác:

  • DISTINCT: Đảm bảo dữ liệu truy vấn không bị trùng lặp (Trong trường hợp truy vấp join các bảng hoặc chỉ lấy 1 số cột nhất định)
  • WHERE: Truy vấn với điều kiện
  • ORDER BY: Sắp xếp dữ liệu trả về
  • GROUP BY: Nhóm dữ liệu theo một hoặc nhiều cột
  • HAVING: Đi kèm với GROUP BY và truy vấn có điều kiện với các cột trong GROUP
  • JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN: Ghép dữ liệu giữa các bảng với nhau

Cú pháp lệnh của SELECT

[ WITH [ RECURSIVE ] with_query [, ...] ]
SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
[ * | expression [ [ AS ] output_name ] [, ...] ]
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY grouping_element [, ...] ]
[ HAVING condition [, ...] ]
[ WINDOW window_name AS ( window_definition ) [, ...] ]
[ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select ]
[ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] ]
[ LIMIT { count | ALL } ]
[ OFFSET start [ ROW | ROWS ] ]
[ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ]
[ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF table_name [, ...] ] [ NOWAIT | SKIP LOCKED ] [...] ]

Các ví dụ sử dụng lệnh SELECT

Giả sử chúng ta có bảng users với dữ liệu như sau:

Dưới đây là 1 số ví dụ sử dụng câu SQL SELECT để lấy dữ liệu của bảng staff.

1. Lấy dữ liệu với SELECT

Lấy toàn bộ dữ liệu của 1 bảng với tất cả các cột

SELECT * FROM staff;

Query với 1 số cột nhất định

SELECT staff_id, fullname, position FROM staff;

Lấy tổng số bản ghi (row) của bảng

SELECT count(*) FROM staff;

2. Giới hạn dữ liệu sử dụng LIMIT / OFFSET

Lấy 5 bản ghi đầu tiên của bảng staff

SELECT * FROM staff LIMIT 5;

Lấy 5 bản ghi đầu tiên, bắt đầu từ bản ghi thứ 4

SELECT * FROM staff LIMIT 5 OFFSET 3;

3. Lấy dữ liệu với điều kiện WHERE

Tìm các ông đang làm admin ở vinasupport.com ( Có positionadmin )

SELECT * FROM staff WHERE position = 'admin';

Tìm người đang làm design và developer website vinasupport.com (Kêt hợp nhiều điều kiện tìm kiếm)

SELECT * FROM staff WHERE position = 'developer' OR position = 'design'

4. Sắp xếp dữ liệu với ORDER BY

Sắp xếp dữ liệu theo 1 cột

SELECT position, staff_id, fullname FROM staff ORDER BY position;

Sắp xếp dữ liệu theo nhiều cột

SELECT position, staff_id, fullname FROM staff ORDER BY position, staff_id;

5. Nhóm dữ liệu sử dụng GROUP BY và HAVING

Lấy số lượng staff theo theo position

SELECT position, count(*) as count FROM staff GROUP BY position;

Lấy số lượng staff theo theo position, có số lượng > 3

SELECT position, count(*) as count FROM staff GROUP BY position HAVING count(*) > 3;

6. Query dữ liệu với JOIN

Có rất nhiều loại join được hỗ trợ bởi PostgreSQL: INNER JOIN, LEFT JOIN, FULL OUTER JOIN, CROSS JOIN, NATURAL JOIN.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *