🐘 PostgreSQL — Tài liệu học lập trình

Về tài liệu này

Biên soạn dựa trên cấu trúc của PostgreSQL Tutorial (Neon / postgresqltutorial.com), viết lại bằng tiếng Việt với ví dụ minh họa chạy được.
Cơ sở dữ liệu mẫu: DVD Rental — xem Bắt đầu với PostgreSQL để cài đặt.
Cách dùng: đọc tuần tự từ bài 01 → 18. Mỗi bài có phần Bài tập ở cuối, đáp án nằm trong callout gập lại.


🗺️ Bản đồ nội dung

Phần A — Nhập môn

#BàiNội dung chính
01Bắt đầu với PostgreSQLCài đặt trên Windows/macOS/Linux, psql, nạp CSDL mẫu DVD Rental

Phần B — Truy vấn dữ liệu

#BàiNội dung chính
02Truy vấn dữ liệu - SELECT, alias, ORDER BY, DISTINCTSELECT, bí danh cột, ORDER BY, SELECT DISTINCT
03Lọc dữ liệu - WHERE, LIMIT, IN, BETWEEN, LIKE, IS NULLWHERE, AND/OR, LIMIT, FETCH, IN, BETWEEN, LIKE, IS NULL
04Kết hợp nhiều bảng - JOININNER/LEFT/RIGHT/FULL/CROSS/NATURAL JOIN, self-join, bí danh bảng
05Nhóm dữ liệu - GROUP BY, HAVING, hàm tổng hợpGROUP BY, HAVING, hàm tổng hợp
06Phép toán tập hợp - UNION, INTERSECT, EXCEPTUNION, INTERSECT, EXCEPT
07GROUPING SETS, CUBE, ROLLUPGROUPING SETS, CUBE, ROLLUP, hàm GROUPING()
08Truy vấn con - Subquery, ANY, ALL, EXISTSSubquery, correlated subquery, ANY, ALL, EXISTS
09CTE và truy vấn đệ quyWITH, WITH RECURSIVE, CTE ghi dữ liệu

Phần C — Thay đổi dữ liệu

#BàiNội dung chính
10Sửa đổi dữ liệu - INSERT, UPDATE, DELETE, UPSERTINSERT, UPDATE, UPDATE JOIN, DELETE, UPSERT, MERGE
11Giao dịch - BEGIN, COMMIT, ROLLBACKBEGIN, COMMIT, ROLLBACK, SAVEPOINT, mức cô lập
12Nhập và xuất dữ liệu CSVCOPY, \copy, nhập/xuất CSV

Phần D — Thiết kế cơ sở dữ liệu

#BàiNội dung chính
13Quản lý bảng - CREATE, ALTER, SERIAL, IDENTITY, sequenceCREATE TABLE, ALTER TABLE, SERIAL, IDENTITY, sequence, bảng tạm
14Ràng buộc - PRIMARY KEY, FOREIGN KEY, CHECK, UNIQUE, NOT NULL, DEFAULTPRIMARY KEY, FOREIGN KEY, CHECK, UNIQUE, NOT NULL, DEFAULT
15Kiểu dữ liệu chuyên sâuSố, chuỗi, ngày giờ, UUID, ARRAY, JSONB, ENUM, kiểu tự định nghĩa

Phần E — Biểu thức, công cụ, thực hành

#BàiNội dung chính
16Biểu thức điều kiện - CASE, COALESCE, NULLIF, CASTCASE, COALESCE, NULLIF, CAST
17Lệnh psqlCác lệnh meta của psql
18Công thức thực dụng - EXPLAIN, xóa trùng, so sánh bảngSo sánh 2 bảng, xóa dòng trùng, số ngẫu nhiên, EXPLAIN, PostgreSQL vs MySQL

🎯 Lộ trình gợi ý

Tuần 1  →  01, 02, 03            (chạy được truy vấn đầu tiên)
Tuần 2  →  04, 05, 06            (kết hợp nhiều bảng)
Tuần 3  →  07, 08, 09            (truy vấn nâng cao)
Tuần 4  →  10, 11, 12            (ghi dữ liệu an toàn)
Tuần 5  →  13, 14, 15            (tự thiết kế schema)
Tuần 6  →  16, 17, 18            (tinh chỉnh & vận hành)

🔑 Bảng tra cứu nhanh — thứ tự thực thi của một câu SELECT

Đây là điểm dễ nhầm nhất khi mới học. PostgreSQL không chạy câu lệnh theo thứ tự bạn viết:

Thứ tự viếtThứ tự thực thiMệnh đề
15SELECT
21FROM / JOIN
32WHERE
43GROUP BY
54HAVING
66DISTINCT
77ORDER BY
88LIMIT / OFFSET

Hệ quả thực tế:

📚 Nguồn tham khảo

Có 1 trang trong thư mục này.