Gabung Luar SQL

Gabung Luar Sql



Sudah jelas bahwa gabungan adalah salah satu fitur database relasional yang paling mudah dikenali. Gabungan memungkinkan kita menggabungkan data dari satu atau lebih tabel berdasarkan kondisi terkait untuk membuat operasi data yang koheren.

Ada berbagai jenis gabungan dalam SQL, masing-masing memiliki cara unik dalam menangani data dari tabel yang berpartisipasi atau kumpulan hasil. Salah satu jenis join yang paling umum di SQL adalah OUTER JOIN.







OUTER JOIN di SQL mengambil semua baris yang cocok dari tabel yang terlibat serta baris yang tidak cocok dari satu atau kedua tabel. Ini berguna ketika Anda berurusan dengan tabel yang berisi nilai NULL atau kumpulan yang hilang.



Mari kita jelajahi lebih jauh apa yang dilakukan gabungan ini, cara kerjanya, dan bagaimana kita bisa menggunakannya dalam database SQL.



Persyaratan:

Untuk tutorial ini, kita akan bekerja dengan MySQL 8.0 dan menggunakan database sampel Sakila. Namun, jangan ragu untuk menggunakan kumpulan data lain yang Anda anggap dapat diterapkan.





Jenis Gabungan Luar

Ada tiga tipe utama OUTER JOINS di SQL. Jenis OUTER JOIN ini meliputi:

  1. Kiri LUAR BERGABUNG

  2. Dalam kasus LEFT OUTER JOINS, gabungan mengambil semua baris dari tabel kiri dan hanya baris yang cocok dari tabel kanan. Jika tidak ada baris yang cocok dari tabel kanan, gabungan akan mengembalikan nilai NULL untuk kolom di tabel kanan.



  3. GABUNG LUAR Kanan

  4. Ini mirip dengan GABUNG LUAR KANAN. Namun, ini mengambil semua baris dari tabel kanan tetapi hanya baris yang cocok dari tabel kiri. Jika tidak ada baris yang cocok dari tabel kiri, gabungan tersebut menyertakan nilai NULL untuk kolom di tabel kiri.

  5. GABUNG LUAR LENGKAP

  6. Terakhir, kita memiliki GABUNG LUAR LENGKAP. Jenis gabungan ini menggabungkan gabungan luar KANAN dan KIRI. Hasilnya, gabungan mengambil semua baris ketika ada kecocokan di tabel kiri atau kanan. Jika tidak ada kecocokan, gabungan mengembalikan nilai NULL untuk kolom dari tabel yang tidak cocok.

Sintaks SQL OUTER JOIN

Berikut ini ekspresi sintaks SQL OUTER JOIN. Namun perlu diingat bahwa sintaksnya mungkin sedikit berbeda tergantung pada mesin database target.

Berikut struktur umumnya:

PILIH kolom
DARI tabel1
[KIRI | BENAR | LENGKAP] OUTER JOIN tabel2
ON table1.column_name = table2.column_name;

Sintaks OUTER JOIN dalam SQL cukup jelas.

Contoh:

Mari kita lihat beberapa contoh penggunaan tentang bagaimana kita dapat menerapkan berbagai jenis OUTER JOINS di SQL.

Seperti yang kami sebutkan, kami akan menggunakan database sampel Sakila untuk demonstrasi. Dalam hal ini, kami menggunakan tabel “pelanggan” dan “pembayaran”.

Contoh 1: GABUNG LUAR KIRI

Mari kita mulai dengan OUTER JOIN. Misalkan kita ingin mengambil semua informasi pelanggan beserta informasi pembayarannya, jika tersedia.

Hal ini membuat LEFT OUTER JOIN berlaku karena kami menginginkan semua informasi pelanggan (di kiri) dan informasi pembayaran jika tersedia (kanan).

Jika pelanggan belum melakukan pembayaran apa pun, penggabungan akan menampilkan nilai NULL untuk kolom terkait pembayaran.

Contohnya adalah sebagai berikut:

PILIH
c.id_pelanggan,
c.nama_depan,
c.nama_belakang,
p.jumlah,
p.tanggal_pembayaran
DARI
pelanggan c
Pembayaran GABUNG LUAR KIRI p
PADA
c.id_pelanggan = p.id_pelanggan;

Dalam kueri yang diberikan, kami menyertakan kolom “id_pelanggan”, “nama_depan”, dan “nama_belakang” dari tabel “pelanggan”. Kami juga menyertakan jumlah dan “tanggal_pembayaran” dari tabel “pembayaran”.

Kami kemudian melakukan LEFT OUTER JOIN antara tabel “pelanggan” dan “pembayaran” berdasarkan “id_pelanggan”.

Ini adalah semua pelanggan (baik pembayaran dilakukan atau tidak) beserta rincian pembayarannya (jika ada).

Contoh keluarannya adalah sebagai berikut:

Contoh 2: GABUNG LUAR KANAN

Sekarang, mari beralih ke RIGHT OUTER JOIN. Misalkan kita ingin memasukkan semua informasi pembayaran dan pelanggan terkait dalam kasus ini, jika ada.

Dalam hal ini, jika pembayaran dilakukan oleh pelanggan, penggabungan akan menampilkan detail pelanggan tersebut. Jika ada pembayaran tanpa pelanggan terkait, maka akan ditampilkan nilai NULL untuk kolom terkait pelanggan.

PILIH
c.id_pelanggan,
c.nama_depan,
c.nama_belakang,
p.jumlah,
p.tanggal_pembayaran
DARI
pelanggan c
Pembayaran GABUNG LUAR KANAN p
PADA
c.id_pelanggan = p.id_pelanggan;

Himpunan yang dihasilkan adalah sebagai berikut:

Contoh 3: GABUNG LUAR LENGKAP

Sebaliknya, FULL OUTER JOIN mengambil semua informasi pelanggan dan pembayaran. Ini mencakup semua pelanggan dan semua pembayaran dan menunjukkan nilai NULL jika tidak ada kecocokan antar tabel.

PILIH
c.id_pelanggan,
c.nama_depan,
c.nama_belakang,
p.jumlah,
p.tanggal_pembayaran
DARI
pelanggan c
Pembayaran GABUNG LUAR LENGKAP p
PADA
c.id_pelanggan = p.id_pelanggan;

Perlu diingat bahwa MySQL tidak mendukung FULL OUTER JOIN. Anda harus melakukan sihir jiujitsu dengan LEFT JOIN, UNION, dan RIGHT JOIN. Cukup menjengkelkan, kami dapat menambahkan.

Kesimpulan

Dalam tutorial ini, kita mempelajari semua tentang OUTER JOINS. Kita mempelajari apa itu OUTER JOIN dalam SQL, jenis-jenis OUTER JOINS, dan contoh cara menggunakan jenis OUTER JOINS ini.