JOIN merupakan perintah di MySQL untuk menggabungkan 2 table atau lebih berdasarkan kolom yang sama JOIN di MySQL dibagi menjadi 3 cara Sebelum kita melanjutkan pembahasan tentang join kita akan membuat 2 table yaitu table mahasiswa dan transaksi Masukkan data untuk table mahasiswa dan transaksi INSERT INTO mahasiswa VALUES (21400200,"faqih","bandung"), (21400201,"ina","jakarta"), (21400202,"anto","semarang"), (21400203,"dani","padang"), (21400204,"jaka","bandung"), (21400205,"nara","bandung"), (21400206,"senta","semarang"); INSERT INTO transaksi VALUES (1,21400200,"Buku Informatika"), (2,21400202,"Buku Teknik Elektro"), (3,21400203,"Buku Matematika"), (4,21400206,"Buku Fisika"), (5,21400207,"Buku Bahasa Indonesia"), (6,21400210,"Buku Bahasa Daerah"), (7,21400211,"Buku Kimia"); > SELECT * FROM mahasiswa; +----------+-------+----------+ | nim | nama | alamat | +----------+-------+----------+ | 21400200 | faqih | bandung | | 21400201 | ina | jakarta | | 21400202 | anto | semarang | | 21400203 | dani | padang | | 21400204 | jaka | bandung | | 21400205 | nara | bandung | | 21400206 | senta | semarang | +----------+-------+----------+ 7 rows in set (0.00 sec) > SELECT * FROM transaksi; +--------------+----------+-----------------------+ | id_transaksi | nim | buku | +--------------+----------+-----------------------+ | 1 | 21400200 | Buku Informatika | | 2 | 21400202 | Buku Teknik Elektro | | 3 | 21400203 | Buku Matematika | | 4 | 21400206 | Buku Fisika | | 5 | 21400207 | Buku Bahasa Indonesia | | 6 | 21400210 | Buku Bahasa Daerah | | 7 | 21400211 | Buku Kimia | +--------------+----------+-----------------------+ 7 rows in set (0.00 sec)
INNER JOININNER JOIN membandingkan record di setiap table untuk dicek apakah nilai sama atau tidak. INNER JOINJika nilai kedua table sama maka akan terbentuk table baru yang hanya menampilkan record yang sama dari kedua table Cara penulisannya
Contoh, Mencari data dari table mahasiswa dan tranksaksi berdasarkan kolom NIM SELECT * FROM mahasiswa INNER JOIN transaksi ON mahasiswa.nim = transaksi.nim; +----------+-------+----------+--------------+----------+---------------------+ | nim | nama | alamat | id_transaksi | nim | buku | +----------+-------+----------+--------------+----------+---------------------+ | 21400200 | faqih | bandung | 1 | 21400200 | Buku Informatika | | 21400202 | anto | semarang | 2 | 21400202 | Buku Teknik Elektro | | 21400203 | dani | padang | 3 | 21400203 | Buku Matematika | | 21400206 | senta | semarang | 4 | 21400206 | Buku Fisika | +----------+-------+----------+--------------+----------+---------------------+ 4 rows in set (0.00 sec) Table mahasiswa mempunyai 7 record dan table transaksi mempunyai 7 record Jika menggabungkan kedua data menggunakan INNER JOIN berdasarkan kolom NIM maka hanya tampil 4 data mahasiswa yang meminjam buku di perpustakaan LEFT JOINLEFT JOIN menghasilkan nilai berdasarkan table kiri (table1) dan nilai yang sama di table kanan (table2). LEFT JOIN Jika table kanan tidak nilainya ada maka akan diisi nilai NULL
Contoh, Mencari data dari table mahasiswa dan tranksaksi berdasarkan kolom NIM SELECT * FROM mahasiswa LEFT JOIN transaksi ON mahasiswa.nim = transaksi.nim; +----------+-------+----------+--------------+----------+---------------------+ | nim | nama | alamat | id_transaksi | nim | buku | +----------+-------+----------+--------------+----------+---------------------+ | 21400200 | faqih | bandung | 1 | 21400200 | Buku Informatika | | 21400202 | anto | semarang | 2 | 21400202 | Buku Teknik Elektro | | 21400203 | dani | padang | 3 | 21400203 | Buku Matematika | | 21400206 | senta | semarang | 4 | 21400206 | Buku Fisika | | 21400201 | ina | jakarta | NULL | NULL | NULL | | 21400204 | jaka | bandung | NULL | NULL | NULL | | 21400205 | nara | bandung | NULL | NULL | NULL | +----------+-------+----------+--------------+----------+---------------------+ 7 rows in set (0.00 sec) Table kiri (mahasiswa) akan menjadi table master dan mencari nilai yang sama di table transaksi. Apabila ada mahasiswa yang tidak meminjam buku maka diberi nilai NULL RIGHT JOINKonsep RIGHT JOIN hampir sama seperti LEFT JOIN hanya yang menjadi master adalah table kanan (table 2) RIGHT JOINJika table kiri tidak nilainya ada maka akan diisi nilai NULL
Contoh, Mencari data dari table mahasiswa dan tranksaksi berdasarkan kolom NIM SELECT * FROM mahasiswa RIGHT JOIN transaksi ON mahasiswa.nim = transaksi.nim; +----------+-------+----------+--------------+----------+-----------------------+ | nim | nama | alamat | id_transaksi | nim | buku | +----------+-------+----------+--------------+----------+-----------------------+ | 21400200 | faqih | bandung | 1 | 21400200 | Buku Informatika | | 21400202 | anto | semarang | 2 | 21400202 | Buku Teknik Elektro | | 21400203 | dani | padang | 3 | 21400203 | Buku Matematika | | 21400206 | senta | semarang | 4 | 21400206 | Buku Fisika | | NULL | NULL | NULL | 5 | 21400207 | Buku Bahasa Indonesia | | NULL | NULL | NULL | 6 | 21400210 | Buku Bahasa Daerah | | NULL | NULL | NULL | 7 | 21400211 | Buku Kimia | +----------+-------+----------+--------------+----------+-----------------------+ 7 rows in set (0.00 sec) Terdapat 7 transaksi peminjaman buku di perpustakaan. Bagi transaksi yang NIM mahasiswa tidak ada di table mahasiswa akan diberi nilai NULL Materi MySQL dibagi menjadi beberapa artikel: Cara Install XAMPP di Windows dan Linux Belajar MySQL Lanjut : Cara Menggunakan JOIN Post navigationApa itu inner join di mysql?Kesimpulannya, Inner Join adalah suatu perintah pada SQL Server digunakan untuk menggabungkan beberapa tabel . Sehingga, akan menampilkan data-data yang mempunyai nilai sama antar tabel dalam sebuah database.
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.
Apa fungsi dari inner join dalam query?Inner join menggabungkan data dari dua tabel kapan pun ditemukan nilai mirip dalam bidang umum di kedua tabel.
Apa yang digunakan untuk menghubungkan 2 atau lebih tabel dalam database?Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk perintah JOIN.
|