Ringkasan SQL Menengah — JOIN, Subquery, dan Window Function Sekilas
Rangkuman satu halaman dari semua 14 artikel SQL menengah — fungsi agregat dan GROUP BY, INNER/OUTER JOIN, subquery dan EXISTS, operator himpunan, CTE, window function, dan transaksi — dirangkai dengan diagram dan tabel klasifikasi.
Gambaran besar yang kamu pelajari di SQL Menengah
Halaman ini mengonsolidasikan sintaks yang dibahas dalam seri SQL Menengah sepanjang empat sumbu: menggabungkan beberapa baris menjadi satu, menggabungkan beberapa tabel dengan JOIN dan subquery, menghitung lintas baris dengan window function, dan meng-commit perubahan bersama dengan transaksi.
Pakai link untuk loncat kembali ke artikel mana pun untuk diulas.
Agregasi baris dan gabungkan beberapa tabel
Fungsi agregat dan GROUP BY meruntuhkan beberapa baris menjadi satu nilai, sementara JOIN menghubungkan beberapa tabel melalui kolom bersama.
Diagram di bawah memetakan 2 artikel agregat dan 3 artikel join.
| Kategori | Artikel | Apa yang akan kamu pelajari |
|---|---|---|
| Agregat | Fungsi Agregat | Agregasi seluruh tabel dengan COUNT / SUM / AVG / MIN / MAX |
| Agregat | GROUP BY dan HAVING | Agregasi grup, HAVING, dan perbedaannya dengan WHERE |
| Join | INNER JOIN dan alias | Alias, INNER JOIN, ON / USING |
| Join | OUTER / CROSS / self join | LEFT / RIGHT / FULL, CROSS, self join |
| Join | JOIN dalam praktik | Menggabungkan JOIN dengan WHERE / ORDER BY / CASE |
Susun dengan subquery, operator himpunan, dan window function
Subquery dan EXISTS memungkinkan kamu menyisipkan satu query di dalam query lain, operator himpunan dan CTE menyatukan result set dan menjaga keterbacaan, dan window function menghitung peringkat dan running total lintas baris.
Diagram di bawah memetakan subquery / EXISTS / operator himpunan / CTE, dan 3 artikel window function.
| Kategori | Artikel | Apa yang akan kamu pelajari |
|---|---|---|
| Subquery | Subquery ① IN / WHERE | Skalar, IN, agregasi di WHERE, pengantar subquery terkorelasi |
| Subquery | Subquery ② FROM / SELECT | Tabel turunan, subquery klausa SELECT, CREATE / INSERT SELECT |
| EXISTS | EXISTS dan subquery terkorelasi | EXISTS / NOT EXISTS dan bagaimana NULL berinteraksi dengan EXISTS |
| Set ops | UNION / INTERSECT / EXCEPT | Union, intersection, difference, dan UNION ALL |
| CTE | WITH (CTE) dan CTE rekursif | Peningkatan keterbacaan dan penelusuran hierarki dengan CTE rekursif |
| Window ① | OVER / PARTITION BY | Window agregat dan PARTITION BY |
| Window ② | ORDER BY dan frame | Running total dan spesifikasi frame (ROWS / RANGE) |
| Window ③ | Ranking / fungsi analitik dan urutan eksekusi | ROW_NUMBER / RANK / LAG / LEAD / NTILE dan urutan eksekusi SQL |
| Transaksi | Transaksi dan lock | BEGIN / COMMIT / ROLLBACK, SAVEPOINT, AUTOCOMMIT |
Kerja bagus!
Sekarang kamu sudah mengaitkan agregasi dan GROUP BY, menggabungkan beberapa tabel dengan JOIN, subquery dan EXISTS, operator himpunan dan CTE, window function, dan transaksi dalam satu sapuan.
Gabungkan semua bagian ini dan kamu bisa menulis sebagian besar query analisis, agregasi, dan pelaporan yang akan kamu temui di pekerjaan nyata.
Loncat kembali ke artikel mana pun yang menarik perhatianmu dan coba polanya pada datamu sendiri.