Cara menggunakan inner join using mysql

Kali ini kita akan belajar tentang perbedaan perintah JOIN di SQL yaitu LEFT JOIN, RIGHT JOIN dan INNER JOIN. Fungsi JOIN digunakan untuk menampilkan data pada tabel yang saling berhubungan atau be-relasi. Artinya kita dapat menampilkan data dalam beberapa tabel hanya dengan satu kali perintah.

Secara konsep dan syntax query seperti gambar dibawah ini.

Perintah diatas adalah join yang menggunakan alias. Jika teman-teman sudah ada gambaran, sekarang saatnya kita praktek agar lebih paham implementasi real-nya.

Pertama kita akan membuat database di phpMyAdmin, dengan nama db_daerah. Kemudian kita buat 2 tabel :

tb_kota

tb_provinsi

(Nama field yang berelasi antara dua tabel diatas tidak harus sama)

Kemudian masuk ke menu SQL di phpmyadmin untuk menulis perintah SQL yang akan menampilkan data-data dalam 2 tabel tersebut.

Pertama kita akan menggunakan INNER JOIN, seperti ini query-nya (kita menggunakan tanpa alias)

[pastacode lang=”sql” manual=”SELECT%20*%0AFROM%20tb_kota%0AINNER%20JOIN%20tb_provinsi%0AON%20%0Atb_kota.id_provinsi%20%3D%20tb_provinsi.id_provinsi%3B” message=”” highlight=”” provider=”manual”/]

Perintah ON kota.id_propinsi = propinsi.id, berarti akan menampilkan data-data yang mempunyai nilai sama antara id_provinsi pada table tb_kota dan id_provinsi pada table tb_provinsi. Yang artinya data tersebut berelasi.

Disini terlihat hanya data-data yang mempunyai nilai sama antara id_provinsi pada table tb_kota dan id_provinsi pada table tb_provinsi yang tampil.

Jika kita custom field yang akan ditampilkan hanya nama_kota dan nama_provinsi saja, maka seperti ini

[pastacode lang=”sql” manual=”SELECT%20nama_kota%2C%20nama_provinsi%0AFROM%20tb_kota%0AINNER%20JOIN%20tb_provinsi%0AON%20%0Atb_kota.id_provinsi%20%3D%20tb_provinsi.id_provinsi%3B” message=”” highlight=”” provider=”manual”/]

Next, sekarang kita menggunakan LEFT JOIN.

[pastacode lang=”sql” manual=”SELECT%20*%0AFROM%20tb_kota%0ALEFT%20JOIN%20tb_provinsi%0AON%20%0Atb_kota.id_provinsi%20%3D%20tb_provinsi.id_provinsi%3B” message=”” highlight=”” provider=”manual”/]

Berbeda dengan INNER JOIN, LEFT JOIN akan menampilkan data-data yang tidak berelasi. Pada table tb_provinsi (kanan), data yg tidak berelasi akan bernilai NULL.

Terakhir, kita menggunakan RIGHT JOIN.

[pastacode lang=”sql” manual=”SELECT%20*%0AFROM%20tb_kota%0ARIGHT%20JOIN%20tb_provinsi%0AON%20%0Atb_kota.id_provinsi%20%3D%20tb_provinsi.id_provinsi%3B” message=”” highlight=”” provider=”manual”/]

Sama dengan LEFT JOIN, RIGHT JOIN akan menampilkan data-data yang tidak berelasi. Namun kebalikan dari LEFT JOIN, pada table tb_kota (kiri), data yg tidak berelasi akan bernilai NULL.

Intinya ketiga JOIN diatas digunakan pada case yang berbeda-beda, tergantung kebutuhan. Biasanya yang lebih sering digunakan ialah INNER JOIN (menampilkan data yang hanya berelasi). Selain itu ada lagi yaitu FULL JOIN, coba temen-temen googling dan explore sendiri sesuai kebutuhan. Rangkuman script sql diatas juga ada disini.

Salah satu skill yang wajib dimiliki seorang Data Analyst adalah pemrograman. Bahasa pemrograman ini dijalankan menggunakan beberapa tools yang mampu mengolah data dalam jumlah sangat banyak. Ketika Data Analyst akan melakukan analisis, tahap pertamanya yaitu mengumpulkan data dari sumber data seperti database.

SQL (Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses dan melakukan manajemen database relasional. Database relasional adalah kumpulan item data yang telah ditentukan hubungannya kemudian disusun menjadi satu set tabel yang berisikan kolom dan baris. Tabel tersebut digunakan untuk menyimpan informasi dalam database. Beberapa tools SQL yang digunakan praktisi data adalah MySQL dan SQL Server. 

Data yang digunakan Data Analyst umumnya adalah data dengan berbagai jenis serta dalam jumlah yang sangat banyak. Data tersebut tidak cukup jika hanya menggunakan satu tabel saja. Dalam suatu database, tabel saling berhubungan satu sama lain. Untuk memperoleh data dari berbagai tabel yang ada, terdapat fungsi SQL yang bisa digunakan yaitu fungsi JOIN.

Apa itu SQL Join? Bagaimana cara penggunaanya? Yuk, simak pembahasannya dibawah ini!

1. Pengertian dan Fungsi SQL Join Table

Pada SQL terdapat banyak perintah atau fungsi yang berguna untuk manajemen data hingga analisis data. Umumnya analisis data menggunakan banyak data sehingga seringkali perlu mengambil data dari banyak tabel yang saling berkaitan. Untuk dapat melakukannya, salah satu perintah SQL yang digunakan yaitu JOIN. 

SQL JOIN adalah fungsi yang disediakan SQL yang digunakan untuk menggabungkan tabel melalui kolom atau key tertentu yang nilainya saling terkait untuk memperoleh set data dengan informasi yang lengkap. Dengan JOIN kita bisa menggabungkan beberapa tabel agar mendapat informasi secara lengkap sesuai yang dibutuhkan untuk analisis. Oleh karena itu, perintah JOIN ini sangat penting dipahami jika kamu ingin menjadi praktisi data.

Contohnya seperti berikut.

Pada gambar terdapat dua tabel yaitu tabel A dan tabel B. Kita bisa menggabungkan kedua tabel tersebut menggunakan perintah JOIN karena informasi yang ada pada tabel saling berkaitan. 

Baca juga : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula

2. Inner Join

Perintah JOIN pada SQL terbagi lagi menjadi beberapa macam. Pertama yang akan kita bahasa adalah INNER JOIN. Apa itu? Mungkin sahabat DQ sudah tidak asing dengan perintah ini. INNER JOIN adalah salah satu macam perintah JOIN yang berfungsi menampilkan dari dua tabel atau lebih yang memiliki kesamaan.

Cara kerjanya yaitu INNER JOIN akan membandingkan record di setiap tabel apakah memiliki nilai yang sama atau tidak. Jika sama, maka akan dibentuk tabel baru yang menampilkan nilai yang sama dari kedua tabel tersebut. Sintaks untuk melakukan INNER JOIN yaitu sebagai berikut.

SELECT column1, column 2
FROM table2
INNER JOIN table1
ON A.columnName = B.columnName;

Sintaks ini bisa diterapkan untuk menggabungkan dua atau lebih tabel. Selalu perhatikan tanda titik koma di akhir sintaks karena bisa terjadi error jika tidak dituliskan. Perhatikan contoh berikut:

Pada gambar terdapat dua tabel yaitu tabel 1 dan tabel 2. Dari kedua tabel tersebut masing-masing memiliki data atau informasi yang sama. Sehingga jika diterapkan INNER JOIN, maka output yang diberikan adalah tabel berisi data yang sama yang ada pada tabel 1 dan 2 yaitu Kiwi dan Onions.

3. Left Join

Jenis JOIN selanjutnya adalah LEFT JOIN. Apa perbedaannya? LEFT JOIN merupakan perintah JOIN yang berfungsi menampilkan seluruh data pada tabel sebelah kiri dan tabel sebelah kanan yang memenuhi kondisi JOIN.

Jika terdapat data yang pada tabel kiri yang tidak berkaitan atau tidak sama nilainya, maka pada tabel kanan akan ditampilkan nilai NULL. Sintaks untuk menerapkan LEFT JOIN yaitu sebagai berikut.

SELECT column1, column 2
FROM table1
LEFT JOIN table2
ON A.columnName = B.columnName;

Perintah tersebut hanya akan menampilkan tabel kiri dan tabel kanan yang memenuhi kondisi JOIN. Perhatikan contoh berikut:

Dua tabel pada gambar masing-masing memiliki tiga baris data. Namun di tabel 2 ada satu baris data yang berbeda. Jika dilakukan LEFT JOIN maka yang ditampilkan adalah seluruh tabel sebelah kiri dan tabel kanan yang memenuhi kondisi JOIN. Sehingga di kolom Quantity dengan nama produk Tomatoes bernilai NULL karena tidak memenuhi kondisi JOIN. 

4. Right JOIN

Jenis perintah SQL JOIN yang terakhir adalah RIGHT JOIN. Sebenarnya konsepnya hampir sama dengan LEFT JOIN, hanya saja yang ditampilkan adalah tabel sebelah kanan. RIGHT JOIN adalah perintah JOIN yang berfungsi menampilkan seluruh data pada tabel sebelah kanan dan tabel sebelah kiri yang memenuhi kondisi JOIN.

Jika terdapat data yang pada tabel kiri yang tidak berkaitan atau tidak sama nilainya, maka pada tabel kiri akan ditampilkan nilai NULL. Sintaksnya dapat dituliskan seperti berikut.

SELECT column1, column 2
FROM table1
RIGHT JOIN table2
ON A.columnName = B.columnName;

Perhatikan contoh dibawah ini:

Dalam gambar terdapat dua tabel yang memiliki beberapa kesamaan data. Pada tabel tersebut jika dilakukan RIGHT JOIN maka akan menghasilkan tiga baris data pada tabel kanan dengan kolom Price untuk item Banana bernilai NULL. Ini karena dalam tabel kiri tidak ada Banana dalam kolom Item maupun Price.

Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data

SQL menjadi salah satu skill yang wajib dikuasai praktisi data seperti Data Analyst. Profesi ini akan berhadapan dengan data setiap harinya dan memiliki tugas mengolah data untuk memperoleh informasi yang berguna. Belajar SQL bisa dari mana saja contohnya buku, internet, atau kursus online. 

Ingin perdalam skill secara bertahap? Yuk, gabung di DQLab.id! Dengan subscribe paket premium kamu bisa mengakses module SQL yang disusun oleh mentor data profesional dengan menggunakan real case study. Dengan begitu pemula data akan lebih paham bagaimana kondisi data di industri dan lebih siap menjadi Data Analyst handal.

Apa itu inner join pada mysql?

2. Inner Join Inner join ini berfungsi untuk mengambil semua baris dari kedua tabel atau lebih. Penggabungan antara dua tabel atau lebih ini hanya dapat dilakukan jika tabel-tabel tersebut memiliki key kolom yang sama.

Apakah syarat untuk menggunakan inner join?

Syarat untuk INNER JOIN adalah kedua tabel harus memiliki sebuah kolom dengan nilai yang sama. Kolom tersebut yang akan digunakan dalam proses JOIN. Pada contoh kita, kolom itu adalah kolom NIP dari tabel nama_dosen, dan kolom NIP_dosen dari tabel mata_kuliah.

Perintah Inner Join digunakan untuk menggabungkan dua tabel dimana diantara dua tabel yang datanya?

INNER JOIN Menggabungkan dua tabel dimana diantara dua tabel datanya bersesuaian. 2. LEFT JOIN atau LEFT OUTER JOIN Menggabungkan dua tabel dimana diantara dua tabel datanya bersesuaian dan juga semua record pada tabel sebelah kiri.

Operasi join Manakah dari berikut ini yang mengacu ketika data pada tabel kiri tidak sama dengan tabel kanan maka data pada tabel kiri akan diisi null?

3. Fungsi 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.

Postingan terbaru

LIHAT SEMUA