{"id":62873,"date":"2026-04-10T09:52:09","date_gmt":"2026-04-10T02:52:09","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=62873"},"modified":"2026-04-14T09:55:53","modified_gmt":"2026-04-14T02:55:53","slug":"belajar-sql-database-11","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/belajar-sql-database-11\/","title":{"rendered":"Belajar SQL Database Bagian 11 \u2013 Mengenal JOIN Lanjutan"},"content":{"rendered":"\n<p>Dalam proses belajar SQL database, memahami cara menggabungkan data dari beberapa tabel adalah langkah penting yang tidak bisa dilewatkan. Setelah sebelumnya kita membahas fungsi <a href=\"https:\/\/www.rumahweb.com\/journal\/belajar-sql-database-10\/\" target=\"_blank\" rel=\"noopener\" title=\"\">agregat dan <em>grouping<\/em><\/a> untuk mengolah data dalam jumlah besar, sekarang saatnya masuk ke teknik lanjutan yang sering digunakan dalam kasus yang lebih spesifik.<\/p>\n\n\n\n<p>Di artikel kali ini, kita akan melanjutkan pembahasan ke materi JOIN yang lebih advanced. Jika sebelumnya Anda sudah mengenal JOIN dasar untuk menggabungkan tabel, maka pada bagian ini kita akan fokus pada dua jenis JOIN yang punya fungsi khusus, yaitu <em>SELF JOIN<\/em> dan <em>CROSS JOIN<\/em>.<\/p>\n\n\n\n<p>Kedua jenis JOIN ini biasanya digunakan dalam kondisi tertentu yang tidak bisa diselesaikan dengan JOIN biasa, sehingga penting untuk dipahami agar Anda bisa lebih fleksibel dalam mengolah data di SQL.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Apa Itu JOIN Lanjutan?<\/h2>\n\n\n\n<p>Dalam proses belajar SQL database, tidak semua kebutuhan penggabungan data bisa diselesaikan dengan JOIN dasar. Ada kondisi tertentu yang membutuhkan teknik yang lebih spesifik, yang dikenal sebagai JOIN lanjutan.<\/p>\n\n\n\n<p>JOIN lanjutan biasanya digunakan untuk:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Menghubungkan data dalam satu tabel yang sama<\/li>\n\n\n\n<li>Menghasilkan kombinasi seluruh data dari beberapa tabel<\/li>\n<\/ul>\n\n\n\n<p>Pada artikel ini, kita akan fokus membahas dua jenis JOIN lanjutan yang cukup sering digunakan, yaitu SELF JOIN dan CROSS JOIN. Dengan memahami kedua teknik ini, Anda bisa mengolah data dengan lebih fleksibel, terutama saat menghadapi struktur data yang lebih kompleks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mengenal SELF JOIN<\/h2>\n\n\n\n<p>SELF JOIN adalah teknik JOIN yang digunakan untuk menggabungkan sebuah tabel dengan dirinya sendiri.<\/p>\n\n\n\n<p>Sekilas mungkin terdengar aneh, tapi konsep ini sangat berguna ketika dalam satu tabel terdapat relasi antar data. Misalnya:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>relasi pertemanan (user dengan user lain)<\/li>\n\n\n\n<li>hubungan atasan dan bawahan dalam satu tabel karyawan<\/li>\n\n\n\n<li>struktur organisasi atau hierarki lainnya<\/li>\n<\/ul>\n\n\n\n<p>Dengan SELF JOIN, Anda bisa \u201cmemperlakukan\u201d satu tabel seolah-olah menjadi dua tabel berbeda, sehingga relasi antar baris di dalamnya bisa dianalisis dengan lebih mudah.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Contoh Kasus SELF JOIN<\/h3>\n\n\n\n<p>Sebagai contoh, terdapat tabel <strong>mahasiswa<\/strong> dengan struktur berikut:<\/p>\n\n\n\n<p>Data Tabel mahasiswa<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-26.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"209\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-26-1024x209.png\" alt=\"Contoh Kasus SELF JOIN\" class=\"wp-image-62874\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-26-1024x209.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-26-300x61.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-26-768x156.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-26-370x75.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-26-270x55.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-26-570x116.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-26-740x151.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-26.png 1370w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Kolom id_teman menunjukkan relasi antar mahasiswa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Query SELF JOIN<\/h3>\n\n\n\n<p>Berikut adalah contoh penggunaan query SELF JOIN pada database.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT a.nama AS mahasiswa, b.nama AS teman\nFROM mahasiswa a\nJOIN mahasiswa b ON a.id_teman = b.id;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Hasil Query SELF JOIN<\/h3>\n\n\n\n<p>Berikut adalah hasil query SELF JOIN yang menampilkan relasi antar mahasiswa:<\/p>\n\n\n\n<p>Data Tabel hasil self join<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-27.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"187\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-27-1024x187.png\" alt=\"Hasil Query SELF JOIN\" class=\"wp-image-62875\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-27-1024x187.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-27-300x55.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-27-768x140.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-27-370x68.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-27-270x49.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-27-570x104.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-27-740x135.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-27.png 1282w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Penjelasan Cara Kerja SELF JOIN<\/h3>\n\n\n\n<p>Pada proses ini, tabel mahasiswa digunakan dua kali:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sebagai data utama (alias a)<\/li>\n\n\n\n<li>sebagai data relasi (alias b)<\/li>\n<\/ul>\n\n\n\n<p>JOIN dilakukan dengan kondisi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a.id_teman = b.id<\/code><\/pre>\n\n\n\n<p>Artinya:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Andi terhubung dengan Budi<\/li>\n\n\n\n<li>Budi terhubung dengan Andi<\/li>\n\n\n\n<li>Citra terhubung dengan Budi<\/li>\n<\/ul>\n\n\n\n<p>Dengan demikian, relasi yang sebelumnya berupa ID dapat ditampilkan menjadi nama yang lebih mudah dipahami.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kapan Menggunakan SELF JOIN?<\/h3>\n\n\n\n<p>SELF JOIN umumnya digunakan dalam kondisi berikut:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Relasi antar data dalam satu tabel<\/li>\n\n\n\n<li>Struktur organisasi (atasan dan bawahan)<\/li>\n\n\n\n<li>Data hierarki (parent dan child)<\/li>\n\n\n\n<li>Relasi antar pengguna<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mengenal CROSS JOIN<\/h2>\n\n\n\n<p>Selain SELF JOIN, terdapat juga CROSS JOIN yang memiliki fungsi berbeda. CROSS JOIN digunakan untuk menghasilkan seluruh kombinasi kemungkinan dari dua tabel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Contoh Kasus CROSS JOIN<\/h3>\n\n\n\n<p>Misalnya terdapat dua tabel:<\/p>\n\n\n\n<p>Data Tabel mahasiswa<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-28.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"200\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-28-1024x200.png\" alt=\"Contoh Kasus CROSS JOIN\" class=\"wp-image-62878\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-28-1024x200.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-28-300x59.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-28-768x150.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-28-370x72.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-28-270x53.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-28-570x111.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-28-740x145.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-28.png 1268w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Data Tabel jurusan<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-29.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"193\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-29-1024x193.png\" alt=\"Data Tabel jurusan\" class=\"wp-image-62879\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-29-1024x193.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-29-300x57.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-29-768x145.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-29-370x70.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-29-270x51.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-29-570x107.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-29-740x139.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-29.png 1279w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Query CROSS JOIN<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT mahasiswa.nama, jurusan.jurusan\nFROM mahasiswa\nCROSS JOIN jurusan;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Hasil Query CROSS JOIN<\/h3>\n\n\n\n<p>Berikut adalah hasil dari CROSS JOIN yang menghasilkan seluruh kombinasi data:<\/p>\n\n\n\n<p>Data Tabel hasil cross join<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-30.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"201\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-30-1024x201.png\" alt=\"Hasil Query CROSS JOIN\" class=\"wp-image-62880\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-30-1024x201.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-30-300x59.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-30-768x151.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-30-370x73.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-30-270x53.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-30-570x112.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-30-740x145.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-30.png 1323w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Penjelasan Cara Kerja CROSS JOIN<\/h3>\n\n\n\n<p>CROSS JOIN tidak menggunakan kondisi seperti JOIN lainnya.<\/p>\n\n\n\n<p>Semua data pada tabel pertama akan dikombinasikan dengan seluruh data pada tabel kedua.<\/p>\n\n\n\n<p>Sebagai contoh:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Andi dipasangkan dengan TI dan SI<\/li>\n\n\n\n<li>Budi dipasangkan dengan TI dan SI<\/li>\n<\/ul>\n\n\n\n<p>Sehingga menghasilkan seluruh kombinasi yang mungkin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Perbedaan SELF JOIN dan CROSS JOIN<\/h2>\n\n\n\n<p>Dalam belajar SQL database, penting untuk memahami perbedaan antara SELF JOIN dan CROSS JOIN karena keduanya digunakan untuk tujuan yang sangat berbeda.<\/p>\n\n\n\n<p>SELF JOIN digunakan untuk menghubungkan data dalam tabel yang sama, biasanya untuk melihat relasi antar baris, seperti hubungan antar karyawan atau struktur hierarki. Sementara itu, CROSS JOIN digunakan untuk menggabungkan semua kemungkinan kombinasi data dari dua tabel, tanpa kondisi tertentu.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Aspek<\/th><th>SELF JOIN<\/th><th>CROSS JOIN<\/th><\/tr><\/thead><tbody><tr><td>Konsep<\/td><td>Menggabungkan tabel dengan dirinya sendiri<\/td><td>Menggabungkan semua kombinasi antar tabel<\/td><\/tr><tr><td>Tujuan<\/td><td>Mencari relasi dalam satu tabel<\/td><td>Menghasilkan kombinasi data (cartesian product)<\/td><\/tr><tr><td>Kondisi JOIN<\/td><td>Menggunakan kondisi (ON)<\/td><td>Tidak menggunakan kondisi<\/td><\/tr><tr><td>Jumlah hasil data<\/td><td>Bergantung pada relasi data<\/td><td>Bisa sangat banyak (perkalian jumlah baris)<\/td><\/tr><tr><td>Contoh penggunaan<\/td><td>Relasi atasan\u2013bawahan, hierarki organisasi<\/td><td>Kombinasi produk &amp; kategori, variasi data<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Studi Kasus SELF JOIN (Relasi Mata Pelajaran)<\/h2>\n\n\n\n<p>Dalam sebuah sistem sekolah, terdapat data mata pelajaran yang memiliki keterkaitan dengan mata pelajaran lain, misalnya sebagai prasyarat (contoh: harus belajar dasar sebelum lanjut).<\/p>\n\n\n\n<p>Relasi ini disimpan dalam satu tabel menggunakan kolom prasyarat_id.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Struktur Tabel Mata Pelajaran<\/h3>\n\n\n\n<p>Data Tabel mata_pelajaran<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-32.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"217\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-32-1024x217.png\" alt=\"Struktur Tabel Mata Pelajaran\" class=\"wp-image-62884\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-32-1024x217.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-32-300x63.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-32-768x162.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-32-370x78.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-32-270x57.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-32-570x121.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-32-740x156.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-32.png 1381w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Penjelasan Data<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Matematika Lanjut memiliki prasyarat Matematika Dasar<\/li>\n\n\n\n<li>Fisika Lanjut memiliki prasyarat Fisika Dasar<\/li>\n\n\n\n<li>Mata pelajaran dasar tidak memiliki prasyarat<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Query SELF JOIN<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT \n    m.nama_mapel AS mata_pelajaran,\n    p.nama_mapel AS prasyarat\nFROM mata_pelajaran m\nLEFT JOIN mata_pelajaran p\nON m.prasyarat_id = p.id;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Hasil Query<\/h3>\n\n\n\n<p>Data Tabel hasil self join<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-33.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"202\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-33-1024x202.png\" alt=\"Hasil Query\" class=\"wp-image-62885\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-33-1024x202.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-33-300x59.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-33-768x151.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-33-370x73.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-33-270x53.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-33-570x112.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-33-740x146.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-33.png 1355w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Penjelasan:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tabel digunakan dua kali (alias m dan p)<\/li>\n\n\n\n<li>Relasi dilakukan dari prasyarat_id ke id<\/li>\n\n\n\n<li>LEFT JOIN digunakan agar data tanpa prasyarat tetap ditampilkan&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Studi Kasus CROSS JOIN (Jadwal Hari dan Mata Pelajaran)<\/h2>\n\n\n\n<p>Dalam sebuah sistem sekolah, diperlukan pembuatan jadwal pelajaran berdasarkan kombinasi hari dan mata pelajaran.<\/p>\n\n\n\n<p>Untuk menghasilkan seluruh kemungkinan jadwal, dapat digunakan <strong>CROSS JOIN<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Struktur Tabel Hari<\/h3>\n\n\n\n<p>Data Tabel hari<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-39.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"182\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-39-1024x182.png\" alt=\"Struktur Tabel Hari\" class=\"wp-image-62891\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-39-1024x182.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-39-300x53.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-39-768x137.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-39-370x66.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-39-270x48.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-39-570x102.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-39-740x132.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-39.png 1387w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Struktur Tabel Mata Pelajaran<\/h3>\n\n\n\n<p>Data Tabel mata_pelajaran<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-37.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"182\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-37-1024x182.png\" alt=\"Struktur Tabel Mata Pelajaran\" class=\"wp-image-62889\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-37-1024x182.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-37-300x53.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-37-768x137.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-37-370x66.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-37-270x48.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-37-570x101.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-37-740x132.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-37.png 1389w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Query CROSS JOIN<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT hari.nama_hari, mata_pelajaran_jadwal.nama_mapel\nFROM hari\nCROSS JOIN mata_pelajaran_jadwal;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Hasil Query<\/h3>\n\n\n\n<p>Data Tabel hasil cross join<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-40.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"179\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-40-1024x179.png\" alt=\"Hasil Query\" class=\"wp-image-62892\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-40-1024x179.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-40-300x53.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-40-768x134.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-40-370x65.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-40-270x47.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-40-570x100.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-40-740x130.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/03\/image-40.png 1480w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p><strong>Penjelasan<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CROSS JOIN menggabungkan setiap baris dari tabel pertama dengan seluruh baris pada tabel kedua<\/li>\n\n\n\n<li>Tidak menggunakan kondisi JOIN<\/li>\n\n\n\n<li>Jumlah hasil merupakan perkalian jumlah baris dari kedua tabel<\/li>\n<\/ul>\n\n\n\n<p>Contoh:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>2 hari \u00d7 2 mata pelajaran = 4 kombinasi<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Kelebihan dan Kekurangan<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">SELF JOIN<\/h3>\n\n\n\n<p><strong>Kelebihan:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fleksibel untuk menangani relasi dalam satu tabel, tanpa perlu membuat tabel tambahan<\/li>\n\n\n\n<li>Sangat cocok untuk data dengan struktur hierarki, seperti relasi atasan\u2013bawahan atau kategori bertingkat<\/li>\n<\/ul>\n\n\n\n<p><strong>Kekurangan:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Membutuhkan penggunaan alias yang tepat agar query tidak membingungkan<\/li>\n\n\n\n<li>Lebih kompleks untuk dipahami, terutama bagi pemula<\/li>\n<\/ul>\n\n\n\n<p><strong>Kapan sebaiknya digunakan?<\/strong><br \/>Gunakan SELF JOIN ketika Anda ingin menganalisis hubungan antar data dalam satu tabel, misalnya mencari siapa atasan dari setiap karyawan atau melihat relasi antar user.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">CROSS JOIN<\/h3>\n\n\n\n<p><strong>Kelebihan:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mudah digunakan karena tidak memerlukan kondisi JOIN<\/li>\n\n\n\n<li>Efektif untuk menghasilkan semua kemungkinan kombinasi data<\/li>\n<\/ul>\n\n\n\n<p><strong>Kekurangan:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Menghasilkan jumlah data yang sangat besar (cartesian product)<\/li>\n\n\n\n<li>Berpotensi memperlambat query jika digunakan pada tabel besar<\/li>\n<\/ul>\n\n\n\n<p><strong>Kapan sebaiknya digunakan?<\/strong><br \/>Gunakan CROSS JOIN saat Anda memang membutuhkan seluruh kombinasi data, misalnya untuk membuat variasi produk (warna \u00d7 ukuran) atau skenario pengujian data.<\/p>\n\n\n\n<p><strong>Kapan sebaiknya dihindari?<\/strong><br \/>Hindari jika tidak benar-benar diperlukan, terutama pada tabel dengan jumlah data besar, karena dapat membebani database dan memperlambat performa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tips Menggunakan JOIN<\/h2>\n\n\n\n<p>Agar penggunaan JOIN tetap optimal, beberapa hal berikut dapat diperhatikan:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gunakan alias agar query lebih mudah dipahami<\/li>\n\n\n\n<li>Hindari penggunaan CROSS JOIN pada tabel besar tanpa filter<\/li>\n\n\n\n<li>Pastikan relasi data sudah sesuai<\/li>\n\n\n\n<li>Gunakan EXPLAIN untuk analisis query<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Penutup<\/h2>\n\n\n\n<p>Dalam proses belajar SQL database, memahami SELF JOIN dan CROSS JOIN akan membantu Anda mengolah data dengan lebih tepat sesuai kebutuhan. SELF JOIN digunakan ketika Anda ingin melihat relasi antar data dalam satu tabel, sementara CROSS JOIN digunakan untuk menghasilkan seluruh kombinasi data dari beberapa tabel. <\/p>\n\n\n\n<p>Keduanya memiliki fungsi yang berbeda, namun sama-sama penting dalam kondisi tertentu. Dengan memahami kapan dan bagaimana menggunakan kedua teknik ini, Anda bisa membuat query yang lebih efisien dan relevan.<\/p>\n\n\n\n<p>Demikian tutorial belajar SQL database bagian 11 tentang fungsi JOIN lanjutan. Jangan lewatkan seri belajar SQL database lainnya dari Rumahweb untuk terus meningkatkan pemahaman Anda. Semoga bermanfaat!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dalam proses belajar SQL database, memahami cara menggabungkan data dari beberapa tabel adalah langkah penting yang tidak bisa dilewatkan. Setelah sebelumnya kita membahas fungsi agregat dan grouping untuk mengolah data dalam jumlah besar, sekarang saatnya masuk ke teknik lanjutan yang sering digunakan dalam kasus yang lebih spesifik. Di artikel kali ini, kita akan melanjutkan pembahasan [&hellip;]<\/p>\n","protected":false},"author":358,"featured_media":63424,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2294],"tags":[2133,135,134,1440],"class_list":{"0":"post-62873","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-database","8":"tag-belajar-sql","9":"tag-database","10":"tag-mysql","11":"tag-sql"},"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/04\/Belajar-SQL-Database-Bagian-11.webp","jetpack_shortlink":"https:\/\/wp.me\/p8n3G7-gm5","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/62873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/users\/358"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=62873"}],"version-history":[{"count":11,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/62873\/revisions"}],"predecessor-version":[{"id":63433,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/62873\/revisions\/63433"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/63424"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=62873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=62873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=62873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}