Langsung ke konten utama

 JOIN merupakan salah satu fungsi yang ada di SQL yang digunakan untuk penggabungan table melalui kolom atau key tertentu dimana memiliki nilai terkait untuk mendapatkan satu set data dengan informasi lengkap.

Pada bahasa SQL, operasi JOIN atau penggabungan antar table ini merupakan perintah dasar yang sangat penting pada database relasional. Gunanya adalah untuk mendukung perancangan database yang baik. Jika kita ingin menghasilkan output data yang valid, menjamin integritas data dan meminimalisir duplikasi data. 

Berikut contoh penggunaannya terhadap sample data https://www.mysqltutorial.org/wp-content/uploads/2023/10/mysqlsampledatabase.zip

Pertama buka aplikasi pengolah data yang biasa digunakan, dalam hal ini penulis menggunakan terminal shell mysql bawaan dari aplikasi XAMPP:


Kedua masukan user dan password, tapi penulis menggunakan user bawaan dari mysql nya sendiri yaitu root dan tanpa password:

Selanjutnya import database sql yang sudah kita download dan ekstrak dengan menggunakan syntax:
Source E:/XAMPP/mysqlsampledatabase.sql
Atau bisa menuliskan sesuai letak atau path dari file sample database sql tersebut. Setelah berhasil kita akan mengecek apakah database sudah berhasil diimport menggunakan query
SHOW DATABASES;
Berdasarkan contoh di atas, database sudah berhasil diimport. Kemudian selanjutnya kita akan mengecek ada tabel apa saja dari database sample tersebut, tapi sebelumnya kita akan menggunakan database sample tersebut dengan menggunakan query
USE mysql(nama databasenya):

Karena kita akan menggabungkan dua tabel, kita akan melihat structure dari table yang akan kita gabungkan/kita JOIN dengan menggunakan query DESCRIBE, karena kita harus tau primary key dan foreign key dari kedua tabel tersebut:






Dari tabel di atas dapat kita ketahui bahwa ada key antara kedua table tersebut yaitu field User. Dengan begitu kita akan coba melakukan JOIN dengan kedua table tersebut:
QUERY:
SELECT db.Host, db.User, Password, Db FROM user JOIN db ON user.User = db.User;


2. INNER JOIN

INNER JOIN membandingkan record di setiap table untuk dicek apakah nilai sama atau tidak. Jika nilai kedua table sama, maka akan terbentuk table baru yang hanya menampilkan record yang sama dari kedua table.

Untuk melakukan INNER JOIN proses awalnya sama dengan JOIN sebelumnya, kemudian kita akan menggunakan query INNER JOIN:

SELECT db.Select_priv, db.Insert_priv FROM user INNER JOIN db ON user.User = db.User;



3. LEFT JOIN

LEFT JOIN menghasilkan nilai berdasarkan table kiri (left table) dan nilai yang sama di table kanan (right table). Jika table kanan tidak sama nilainya dengan table kiri, maka akan diisi nilai NULL pada table kanan.

Sama seperti JOIN dan INNER JOIN sebelumnya, penggunaan LEFT JOIN juga sama, berikut contoh penggunaannya. 

Query:

SELECT db.Db, user.Host, user.User, user.Password FROM db LEFT JOIN user ON user.User = db.User;



4. RIGHT JOIN

Konsep RIGHT JOIN hampir sama seperti LEFT JOIN hanya yang menjadi master adalah table kanan (right table). Jika table kiri tidak sama nilainya dengan table kanan, maka akan diisi nilai NULL pada table kiri.

Penggunaan RIGHT JOIN juga sama dengan JOIN sebelumnya, berikut penggunaannya. 

Query:

SELECT db.Db, user.Host, user.User, user.Password FROM db RIGHT JOIN user ON user.User = db.User;

Komentar

Postingan populer dari blog ini

Contoh Metadata Pada Jurnal

Pekan ini, kita akan membuat tabel untuk menyimpan metadata dari artikel ilmiah, seperti apa tabel yang akan kita buat? Tentu kita harus mendefinisikan data apa saja dari artikel tersebut yang termasuk sebagai metadata yang perlu disimpan. Setelah tabel dibuat, mari kita isi metadata yang telah kita definisikan tadi ke dalam tabel. kita buat dengan table sederhana seperti diatas pada phpMyAdmin. pertama kita harus membuat database sebelum membuat table yang telah kita buat. lalu kita buat table penulis dengan 3 kolom klik create, lalu klik save dan buat lagi dengan nama journals .

store procedur

CREATE TABLE IF NOT EXISTS `film_with_actor_more_than_ten` ( `id` int NOT NULL AUTO_INCREMENT, `film_id` int NOT NULL, `total` int NOT NULL, PRIMARY KEY (`id`) )   DELIMITER $$  CREATE TRIGGER after_film_actor_insert AFTER INSERT ON film_actor FOR EACH ROW BEGIN IF ((SELECT COUNT(*) FROM film_actor WHERE film_actor.film_id = NEW.film_id) > 10 ) THEN INSERT INTO film_with_actor_more_than_ten (film_id, total) VALUES (NEW.film_id, (SELECT COUNT(*) FROM film_actor WHERE film_actor.film_id = NEW.film_id));   END IF;   END$$  DELIMITER ;  INSERT INTO `film_actor` (`actor_id`, `film_id`, `last_update`) VALUES ('3', '1', CURRENT_TIMESTAMP)

Mengisi, Mengubah dan Menghapus data MYSQL

  Setelah kemarin kita membahas tentang cara pembuatan database di MySQL, mari kita bahas bagaimana sih cara mengisi data pada database dengan terminal alias cmd ? Pada instalasi default atau akun awal, biasanya menggunakan username root dengan password yang tidak perlu diisi alias kosong. Sebelum kita login ke MySQL mari kita buka terminal lalu arahkan ke folder MySQL yang berada di XAMPP lalu ikuti langkah berikut.. Mengisi Data ke Database Berikut adalah contoh sintak insert. INSERT INTO nama_tabel VALUES('data_string', 'data_string'); Mengubah Data dalam Database Berikut adalah contoh sintak insert. UPDATE nama_tabel SET nama_kolom = 'data_string' WHERE nama_kolom = 'data_string'; Menghapus Data ke Database Berikut adalah contoh sintak insert. DELETE FROM nama_tabel WHERE nama_kolom = 'spesifik_data';