UNION, INTERSECT, EXCEPT
Gabungkan kumpulan hasil yang kompatibel dengan UNION, temukan baris yang sama dengan INTERSECT, dan temukan perbedaannya dengan EXCEPT.
UNION, INTERSECT, EXCEPT adalah pelajaran SQL Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar SQL Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus SQL Academy mencakup 4 pelajaran total.
Gambaran Umum Operasi Himpunan
Tiga operator himpunan menggabungkan kumpulan hasil baris demi baris:
UNION— baris yang ada di A ATAU B (tanpa duplikasi)INTERSECT— baris yang ada di A DAN BEXCEPT— baris yang ada di A tetapi TIDAK di B
UNION
Gabungkan dua kumpulan hasil dan hapus duplikat:
SELECT email FROM users
UNION
SELECT email FROM newsletter_subscribers;Kesesuaian Kolom
Kedua kueri harus memiliki jumlah kolom yang sama dan tipe yang kompatibel:
-- OK:
SELECT email FROM users UNION SELECT email FROM customers;
-- ERROR — different column count:
SELECT email FROM users UNION SELECT email, name FROM customers;INTERSECT
Baris yang muncul di kedua kueri:
SELECT product_id FROM orders WHERE user_id = 1
INTERSECT
SELECT product_id FROM orders WHERE user_id = 2;
-- Products bought by BOTH users.EXCEPT
Baris yang ada di kueri pertama tetapi tidak ada di kueri kedua:
SELECT product_id FROM products
EXCEPT
SELECT product_id FROM order_items;
-- Products never ordered.ORDER BY dengan Operator Himpunan
ORDER BY berlaku untuk seluruh hasil gabungan. Letakkan di bagian akhir:
SELECT email FROM users
UNION
SELECT email FROM customers
ORDER BY email;Operator Himpunan dan NULL
Untuk operasi himpunan, dua NULL dianggap sama — UNION menghapus duplikatnya, INTERSECT mencocokkannya. (Berbeda dari NULL = NULL dalam WHERE.)
Operator Himpunan pada Subkueri
Gunakan tanda kurung pada subkueri agar lebih jelas dan dapat menggabungkannya dengan LIMIT:
(SELECT id FROM users ORDER BY created_at DESC LIMIT 10)
UNION
(SELECT id FROM users ORDER BY total DESC LIMIT 10);Prioritas Operator
INTERSECT memiliki prioritas lebih tinggi daripada UNION/EXCEPT. Gunakan tanda kurung:
SELECT id FROM a
UNION
SELECT id FROM b
INTERSECT
SELECT id FROM c;
-- means: a UNION (b INTERSECT c)
-- Use parens to force order:
(SELECT id FROM a UNION SELECT id FROM b) INTERSECT SELECT id FROM c;Kinerja
UNION mengurutkan data untuk menghapus duplikat. INTERSECT dan EXCEPT melakukan pekerjaan serupa. Untuk himpunan besar, utamakan pola JOIN/EXISTS dan gunakan operasi himpunan hanya jika maknanya benar-benar sesuai.
SQL Standar vs Kekhasan Vendor
Ketiganya tersedia di PostgreSQL. MySQL baru menambahkan INTERSECT dan EXCEPT pada 8.0.31; versi yang lebih lama menirunya dengan JOIN/NOT IN.
Ringkasan
Operator himpunan menyatakan OR/AND/MINUS pada baris.
- UNION — gabungkan + hapus duplikat
- INTERSECT — baris yang sama
- EXCEPT — A dikurangi B
Pemeriksaan Singkat
Operator himpunan mana yang mengembalikan "baris di A yang TIDAK ada di B"?
Pertanyaan yang Sering Diajukan
Apakah pelajaran “UNION, INTERSECT, EXCEPT” gratis?
Ya — teks lengkap “UNION, INTERSECT, EXCEPT” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus SQL Academy, upgrade ke CoddyKit PRO. Kursus SQL Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “UNION, INTERSECT, EXCEPT”?
Gabungkan kumpulan hasil yang kompatibel dengan UNION, temukan baris yang sama dengan INTERSECT, dan temukan perbedaannya dengan EXCEPT. Kamu berlatih SQL Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai SQL Academy?
Tidak diperlukan pengalaman sebelumnya. SQL Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “UNION, INTERSECT, EXCEPT” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran SQL Academy ini?
Ya. Setiap pelajaran SQL Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- UNION, INTERSECT, EXCEPT
- UNION ALL vs UNION (Biaya Deduplicasi)
- Ekspresi CASE dan Kueri Pivot
- Pola Crosstab (PostgreSQL crosstab())