CROSS JOIN di PostgreSQL menggabungkan setiap baris dari satu tabel dengan setiap baris dari tabel lain, sehingga menghasilkan produk Kartesius. Ini berguna untuk membuat kombinasi, membuat data uji, atau memasangkan elemen dari dua dataset.
🔖 Referensi Cepat: Butuh rujukan cepat untuk semua jenis JOIN? Lihat SQL JOIN Cheat Sheet kami yang dilengkapi diagram visual dan contoh kode.
Sintaks Dasar
SELECT column1, column2
FROM table1
CROSS JOIN table2;
Anda juga bisa menggunakan sintaks implisit:
SELECT column1, column2
FROM table1, table2;
Contoh: Kombinasi Produk dan Warna
Mari kita lihat dua tabel sederhana, products dan colors, untuk menunjukkan cara kerja CROSS JOIN.
Tabel products:
| product_id | product_name |
|---|---|
| 1 | T-Shirt |
| 2 | Jeans |
Tabel colors:
| color_id | color_name |
|---|---|
| 1 | Red |
| 2 | Blue |
Untuk menghasilkan semua kemungkinan kombinasi produk dan warna:
SELECT product_name, color_name
FROM products
CROSS JOIN colors;
Output yang Diharapkan:
| product_name | color_name |
|---|---|
| T-Shirt | Red |
| T-Shirt | Blue |
| Jeans | Red |
| Jeans | Blue |
CROSS JOIN menggabungkan setiap produk dengan setiap warna, menghasilkan total 2 produk × 2 warna = 4 kombinasi.
Kasus Penggunaan Umum
Membuat semua kombinasi: Buat varian produk dengan menggabungkan ukuran dan warna:
SELECT size, color
FROM sizes CROSS JOIN colors;
Membuat data uji: Hasilkan data sampel untuk pengujian dengan menggabungkan berbagai parameter:
SELECT strategy, scenario
FROM strategies CROSS JOIN scenarios;
Template laporan: Buat baris placeholder untuk semua kemungkinan kombinasi dalam laporan.
Hal Penting yang Perlu Diperhatikan
Performa: CROSS JOIN bisa menghasilkan set hasil yang sangat besar. Tabel berisi 1.000 baris yang di-cross dengan tabel lain berisi 1.000 baris akan menghasilkan 1.000.000 baris.
Pemfilteran: Gunakan klausa WHERE untuk membatasi hasil:
SELECT product_name, color_name
FROM products CROSS JOIN colors
WHERE product_name = 'T-Shirt';
Kesimpulan
CROSS JOIN berguna untuk membuat kombinasi dan data uji, tetapi gunakan dengan hati-hati pada tabel besar agar tidak terjadi masalah performa. Selalu perhitungkan ukuran set hasil sebelum menjalankan query.
Beekeeper Studio Adalah GUI Database Gratis & Open Source
Tool query & editor SQL terbaik yang pernah saya pakai. Semua yang saya butuhkan untuk mengelola database ada di sini. - ⭐⭐⭐⭐⭐ Mit
Beekeeper Studio cepat, intuitif, dan mudah digunakan. Beekeeper mendukung banyak sekali database, dan berjalan mulus di Windows, Mac, dan Linux.
Apa Kata Pengguna tentang Beekeeper Studio
"Beekeeper Studio sepenuhnya menggantikan alur kerja SQL lama saya. Cepat, intuitif, dan membuat pekerjaan database kembali menyenangkan."
"Saya sudah mencoba banyak GUI database, tetapi Beekeeper punya keseimbangan sempurna antara fitur dan kesederhanaan. Langsung jalan."