Tóm tắt SQL trung cấp — JOIN, truy vấn con và window function trong một cái nhìn

Tóm tắt một trang của cả 14 bài SQL trung cấp — hàm tổng hợp và GROUP BY, INNER/OUTER JOIN, truy vấn con và EXISTS, phép toán tập hợp, CTE, window function, và transaction — được liên kết với sơ đồ và bảng phân loại.

Bức tranh toàn cảnh những gì bạn đã học trong SQL trung cấp

Trang này gom lại cú pháp đã đề cập trong loạt bài SQL trung cấp theo bốn trục: tổng hợp nhiều dòng thành một, kết hợp nhiều bảng với JOIN và truy vấn con, tính trên các dòng với window function, và commit các thay đổi cùng nhau với transaction.

Dùng các liên kết để nhảy về bất kỳ bài nào để ôn lại.

Bức tranh toàn cảnh SQL trung cấp
gom lạitổng hợp / GROUP BYbảngdữ liệu trong nhiều bảngkết hợpJOIN / truy vấn conphép toán tập hợpUNION / EXISTS / CTEtính trên các dòngwindow functioncommit cùng nhautransactiontổng hợpjointập hợptrên các dòngcập nhật
Gom các dòng lại với tổng hợp, kết hợp nhiều bảng với JOIN và truy vấn con, tính trên các dòng với window function, và commit các thay đổi cùng nhau với transaction.

Tổng hợp dòng và kết hợp nhiều bảng

Hàm tổng hợp và GROUP BY gom nhiều dòng thành một giá trị, trong khi JOIN kết nối nhiều bảng qua một cột chung.

Sơ đồ bên dưới phác họa 2 bài về tổng hợp và 3 bài về join.

5 bài về tổng hợp và join
tổng hợpgom các dòng lạihàm tổng hợpCOUNT / SUM / v.v.GROUP BYvà HAVINGjoinkết nối các bảngINNER JOINvà alias
Hàm tổng hợp gom các dòng lại, và GROUP BY tổng hợp theo từng nhóm. JOIN trải 3 bài — INNER, OUTER, và sử dụng thực tế — đề cập đến cách kết nối các bảng.
Danh mụcBàiNhững gì bạn sẽ học
Tổng hợpHàm tổng hợpTổng hợp toàn bảng với COUNT / SUM / AVG / MIN / MAX
Tổng hợpGROUP BY và HAVINGTổng hợp theo nhóm, HAVING, và sự khác biệt với WHERE
JoinINNER JOIN và aliasAlias, INNER JOIN, ON / USING
JoinOUTER / CROSS / self joinLEFT / RIGHT / FULL, CROSS, self join
JoinJOIN trong thực tếKết hợp JOIN với WHERE / ORDER BY / CASE

Soạn với truy vấn con, phép toán tập hợp, và window function

Truy vấn con và EXISTS cho phép bạn nhúng một truy vấn vào trong truy vấn khác, phép toán tập hợp và CTE gắn các tập kết quả lại với nhau và giữ mọi thứ dễ đọc, và window function tính rank và tổng lũy kế trên các dòng.

Các sơ đồ bên dưới phác họa truy vấn con / EXISTS / phép toán tập hợp / CTE, và 3 bài window function.

5 bài về truy vấn con, phép toán tập hợp, và CTE
truy vấn conmột truy vấn trong truy vấnTruy vấn con ①IN / WHERETruy vấn con ②FROM / SELECTEXISTStruy vấn con tương quanphép toán tập hợphọ UNIONCTE / WITHCTE đệ quy
Truy vấn con và EXISTS nhúng một truy vấn vào trong truy vấn khác; phép toán tập hợp và CTE gắn các tập kết quả lại với nhau để giữ SQL phức tạp dễ đọc.
4 bài về window function và transaction
window functiontính trên các dòngOVERPARTITION BYORDER BYvà framexếp hạng / phân tíchthứ tự thực thitransactioncommit cùng nhau
Window function trải 3 bài — OVER / PARTITION, ORDER BY và frame, và xếp hạng / hàm phân tích. Transaction nhóm các thay đổi để bạn có thể commit hoặc hoàn tác chúng như một.
Danh mụcBàiNhững gì bạn sẽ học
Truy vấn conTruy vấn con ① IN / WHEREScalar, IN, tổng hợp trong WHERE, giới thiệu truy vấn con tương quan
Truy vấn conTruy vấn con ② FROM / SELECTBảng dẫn xuất, truy vấn con mệnh đề SELECT, CREATE / INSERT SELECT
EXISTSEXISTS và truy vấn con tương quanEXISTS / NOT EXISTS và cách NULL tương tác với EXISTS
Phép toán tập hợpUNION / INTERSECT / EXCEPTHợp, giao, hiệu, và UNION ALL
CTEWITH (CTE) và CTE đệ quyLợi ích dễ đọc và đi qua phân cấp với CTE đệ quy
Window ①OVER / PARTITION BYWindow tổng hợp và PARTITION BY
Window ②ORDER BY và frameTổng lũy kế và định nghĩa frame (ROWS / RANGE)
Window ③Xếp hạng / hàm phân tích và thứ tự thực thiROW_NUMBER / RANK / LAG / LEAD / NTILE và thứ tự thực thi SQL
TransactionTransaction và khóaBEGIN / COMMIT / ROLLBACK, SAVEPOINT, AUTOCOMMIT

Làm tốt lắm!

Bây giờ bạn đã kết nối tổng hợp và GROUP BY, kết hợp nhiều bảng với JOIN, truy vấn con và EXISTS, phép toán tập hợp và CTE, window function, và transaction trong một lượt.

Kết hợp các mảnh này lại và bạn có thể viết phần lớn các truy vấn phân tích, tổng hợp, và báo cáo mà bạn sẽ gặp trong công việc thực tế.

Nhảy về bất kỳ bài nào đã thu hút sự chú ý của bạn và thử các mẫu trên dữ liệu của riêng bạn.