1. Pendahuluan
Sejauh ini, kita selalu menggunakan klausa ON (seperti ON tabel_a.id = tabel_b.id) untuk mencari pasangan data yang cocok. Namun, bagaimana jika tujuan kita justru bukan mencari kecocokan, melainkan ingin membuat daftar semua kombinasi yang mungkin terjadi? CROSS JOIN mengambil peran. Perintah ini unik karena sengaja melanggar aturan utama JOIN standar dengan cara mengabaikan kunci relasi, dan membiarkan setiap baris di tabel pertama berpasangan dengan setiap baris di tabel kedua tanpa terkecuali.
2. Latar Belakang Masalah
Bayangkan kamu seorang pemilik pabrik kaos. Kamu baru saja membeli kain dengan 3 pilihan warna (Merah, Biru, Hitam) dan ingin memproduksi kaos dalam 4 ukuran standar (S, M, L, XL). Staf admin kamu diminta untuk membuatkan kode Stock Keeping Unit (SKU) atau daftar katalog produk di database untuk semua variasi kaos tersebut. Jika dikerjakan manual, staf kamu harus mengetik Merah-S, Merah-M, Merah-L, dan seterusnya sampai 12 kali. Jika warna dan ukurannya ada puluhan, proses ini akan memakan waktu berjam-jam. Nah, dengan CROSS JOIN, sistem database bisa menghasilkan kombinasi silang tersebut (perkalian matriks) hanya dalam waktu sepersekian detik.
3. Konsep: Cartesian Product
Dalam ilmu matematika dan database, hasil dari CROSS JOIN disebut sebagai Cartesian Product (Produk Kartesius). Artinya, jika Tabel A memiliki 3 baris dan Tabel B memiliki 4 baris, maka hasil CROSS JOIN-nya adalah 3 dikali 4, yaitu 12 baris. Karena sifatnya yang mengalikan jumlah baris, CROSS JOIN sangat berbahaya jika dieksekusi pada tabel berukuran raksasa. Jika Anda meng-CROSS JOIN tabel berisi 1.000 pelanggan dengan tabel berisi 1.000 produk, database kamu akan mendadak memproses 1.000.000 baris, yang bisa membuat server menjadi hang atau down.
4. Implementasi
Saya mencontohkan dari pembahasan latar belakang, yang dimana studi kasus nya adalah produksi kaos.
4.1 Membuat table warna dan ukuran
4.4 Analisis hasil
Kamu akan melihat output CROSS JOIN nya 12 baris data di terminal kamu. Kata 'Merah' akan muncul 4 kali (berpasangan dengan S, M, L, XL), lalu disusul 'Biru' 4 kali, dan 'Hitam' 4 kali. Ini adalah cara tercepat pemrograman untuk men-generate data kombinasi tanpa perlu aplikasi pihak ketiga.
5. Kesimpulan
Fungsi Spesifik: CROSS JOIN adalah teknik khusus yang digunakan untuk menghasilkan Cartesian Product, yaitu kombinasi perkalian silang dari setiap baris di tabel pertama dengan setiap baris di tabel kedua.
Tanpa Klausa Relasi: Berbeda dengan jenis penggabungan lainnya, perintah ini secara sengaja mengabaikan klausa
ONkarena tujuannya memang bukan untuk mencari kecocokan referensi antar tabel. Artinya tidak memerlukan FOREIGN KEY untuk merelasikan table.Kasus Penggunaan: Teknik ini sangat ideal diaplikasikan untuk skenario pembuatan katalog variasi produk, penyusunan jadwal shift karyawan bergilir, atau pembuatan data dummy massal untuk keperluan testing aplikasi.
Risiko Kinerja: Anda harus sangat berhati-hati dan waspada saat mengeksekusi perintah ini pada database berskala produksi yang memiliki ribuan atau jutaan baris data.
Bahaya Skalabilitas: Tanpa adanya pembatasan kondisi yang ketat, lonjakan proses perkalian baris eksponensial yang dihasilkan dapat langsung membebani memori server hingga menyebabkan crash pada sistem secara keseluruhan.
6. Daftar Pustaka
MySQL 8.0 Reference Manual. (2024). JOIN Clause and Cartesian Products. Oracle Corporation.
W3Schools Online Web Tutorials. (n.d.). SQL CROSS JOIN Keyword. Diakses dari W3Schools.
Beighley, L. (2007). Head First SQL: Your Brain on SQL -- A Learner's Guide. O'Reilly Media.
MariaDB Knowledge Base. (2025). JOINS: CROSS JOIN. MariaDB Foundation.
Google Gemini AI. (2026). Diskusi Interaktif: Panduan SQL Lanjutan untuk Praktek Terminal Ubuntu/MariaDB.



