Jenis-jenis join pada Mysql
berikut ini adalah jenis-jenis join pada mysql, seperti kita ketahui sebelumnya join digunakan untuk mengambil data dari beberapa tabel, sedangkan untuk jenis-jenisnya adalah sebagai berikut
1. INNER JOIN
INNER JOIN akan mengembalikan baris yang memiliki nilai yang cocok di kedua tabel.
contoh :
SELECT orders.order_id, customers.customer_name, orders.order_date FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;
INNER JOIN adalah jenis join yang menggabungkan dua tabel berdasarkan kolom yang memiliki nilai cocok pada kedua tabel. INNER JOIN hanya mengembalikan baris yang memiliki nilai yang cocok di kedua tabel.
Berikut adalah contoh penggunaan INNER JOIN pada MySQL:
Misalkan kita memiliki dua tabel, yaitu tabel customers dan orders. Tabel customers berisi informasi tentang pelanggan seperti customer_id, customer_name, dan email, sedangkan tabel orders berisi informasi tentang pesanan seperti order_id, customer_id, dan order_date. Kita ingin menggabungkan kedua tabel berdasarkan customer_id.
Tabel Customers:
Perintah SQL untuk menggabungkan tabel customers dan orders dengan INNER JOIN adalah sebagai berikut:
SELECT customers.customer_name, orders.order_id, orders.order_date FROM customers
INNER JOIN orders ON customers.customer_id = orders.customer_id;
Output dari perintah di atas akan menjadi seperti berikut:
Perintah SQL di atas akan mengembalikan tiga kolom (customer_name, order_id, order_date) dari gabungan dua tabel customers dan orders berdasarkan customer_id. Hasilnya adalah daftar pesanan dengan nama pelanggan yang membuat pesanan tersebut. Karena hanya pesanan dengan pelanggan yang memiliki nilai yang cocok pada kedua tabel yang dipilih, hasil INNER JOIN hanya mencakup empat baris (dua pesanan yang dilakukan oleh pelanggan John dan satu pesanan oleh Sarah dan Michael).
2. LEFT JOIN
LEFT JOIN akan mengembalikan semua baris dari tabel kiri (pertama) dan baris yang cocok dari tabel kanan (kedua).
contoh :
SELECT customers.customer_name, orders.order_id FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id;
LEFT JOIN adalah jenis JOIN yang mengembalikan semua baris dari tabel kiri (pertama) dan baris yang cocok dari tabel kanan (kedua). Jika tidak ada baris yang cocok pada tabel kanan, kolom yang berasal dari tabel kanan akan berisi nilai NULL.
Contoh penggunaan LEFT JOIN pada MySQL:
Misalkan kita memiliki dua tabel, yaitu customers dan orders. Tabel customers berisi informasi tentang pelanggan seperti nama, alamat, dan ID pelanggan, sedangkan tabel orders berisi informasi tentang pesanan seperti nomor pesanan, tanggal pesanan, dan ID pelanggan.
Tabel Customers
Tabel Orders
Kita ingin menggabungkan kedua tabel berdasarkan customer_id untuk mengetahui pesanan mana yang dilakukan oleh pelanggan tertentu. Namun, kita juga ingin mencakup semua pelanggan, bahkan jika mereka belum melakukan pesanan. Untuk melakukannya, kita dapat menggunakan LEFT JOIN seperti berikut:
SELECT customers.customer_name, orders.order_id, orders.order_date FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id;
Hasil yang akan dihasilkan adalah sebagai berikut:
Dalam contoh ini, LEFT JOIN digunakan untuk menggabungkan kedua tabel customers dan orders berdasarkan customer_id. Hasilnya adalah daftar pesanan dengan nama pelanggan yang membuat pesanan tersebut, serta semua pelanggan termasuk yang belum melakukan pesanan. Karena LEFT JOIN akan mengembalikan semua baris dari tabel kiri (tabel customers), hasilnya mencakup semua tiga pelanggan yang ada di tabel customers. Namun, karena pelanggan Sarah belum melakukan pesanan, kolom yang berasal dari tabel orders untuk baris tersebut akan berisi nilai NULL.
3. RIGHT JOIN
RIGHT JOIN akan mengembalikan semua baris dari tabel kanan (kedua) dan baris yang cocok dari tabel kiri (pertama).
contoh :
SELECT orders.order_id, customers.customer_name FROM orders
RIGHT JOIN customers ON orders.customer_id = customers.customer_id;
RIGHT JOIN adalah jenis JOIN yang mengembalikan semua baris dari tabel kanan (kedua) dan baris yang cocok dari tabel kiri (pertama). Jika tidak ada baris yang cocok pada tabel kiri, kolom yang berasal dari tabel kiri akan berisi nilai NULL.
Contoh penggunaan RIGHT JOIN pada MySQL:
Misalkan kita memiliki dua tabel, yaitu orders dan customers. Tabel orders berisi informasi tentang pesanan seperti nomor pesanan, tanggal pesanan, dan ID pelanggan, sedangkan tabel customers berisi informasi tentang pelanggan seperti nama, alamat, dan ID pelanggan.
Tabel orders:
Tabel Customers:
Kita ingin menggabungkan kedua tabel berdasarkan customer_id untuk mengetahui pelanggan mana yang melakukan pesanan dan pelanggan mana yang belum melakukan pesanan. Namun, kita juga ingin mencakup semua pesanan, bahkan jika pelanggan yang melakukan pesanan tidak terdaftar dalam tabel customers. Untuk melakukannya, kita dapat menggunakan RIGHT JOIN seperti berikut:
SELECT customers.customer_name, orders.order_id, orders.order_date FROM orders
RIGHT JOIN customers ON orders.customer_id = customers.customer_id;
Hasil yang akan dihasilkan adalah sebagai berikut:
Dalam contoh ini, RIGHT JOIN digunakan untuk menggabungkan kedua tabel orders dan customers berdasarkan customer_id. Hasilnya adalah daftar pesanan dengan nama pelanggan yang membuat pesanan tersebut, serta semua pelanggan termasuk yang tidak melakukan pesanan. Karena RIGHT JOIN akan mengembalikan semua baris dari tabel kanan (tabel customers), hasilnya mencakup semua tiga pelanggan yang ada di tabel customers. Namun, karena pelanggan William belum melakukan pesanan, kolom yang berasal dari tabel orders untuk baris tersebut akan berisi nilai NULL.
4. FULL OUTER JOIN
FULL OUTER JOIN akan mengembalikan semua baris dari kedua tabel, termasuk baris yang tidak cocok.
contoh :
SELECT customers.customer_name, orders.order_id FROM customers
FULL OUTER JOIN orders ON customers.customer_id = orders.customer_id;
Perlu diingat bahwa FULL OUTER JOIN tidak didukung secara native di MySQL. Namun, kita dapat mencapainya dengan menggunakan UNION dari LEFT JOIN dan RIGHT JOIN.
sehingga menjadi seperti ini
SELECT customers.customer_name, orders.order_id FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id UNION
SELECT customers.customer_name, orders.order_id FROM customers
RIGHT JOIN orders ON customers.customer_id = orders.customer_id;
Ini adalah contoh-contoh JOIN pada MySQL yang paling umum digunakan. Ada jenis JOIN lain yang lebih jarang digunakan seperti CROSS JOIN dan SELF JOIN.
semoga bermanfaat
Post a Comment for "Materi 8 : Jenis-jenis join pada Mysql"