SlideShare ist ein Scribd-Unternehmen logo
1 von 11
INNER JOIN
Menggabungkan Tabel MYSQL
INNER JOIN
Inner Join adalah perintah query yang disediakan oleh mysql
untuk menggabungkan dua buah table pada database kita.
DUA (2) VARIASI QUERY DALAM INNER JOIN
• SELECT…..INNER JOIN…..ON • SELECT…..INNER JOIN…..USING
SELECT….INNER JOIN….ON
Buat table mata_kuliah Buat table daftar_dosen
SELECT….INNER JOIN….ON
• SELECT nama_kolom_tampil FROM nama_tabel_pertama INNER JOIN
nama_tabel_kedua ON nama_kolom_join_tabel_pertama =
nama_kolom_join_tabel_kedua
• nama_kolom_tampil adalah nama dari kolom yang akan kita tampilkan, bisa semua kolom
dalam tabel, atau hanya kolom tertentu saja.
• nama_tabel_pertama adalah nama tabel pertama yang akan digabung.
• nama_tabel_kedua adalah nama tabel kedua yang akan digabung.
• nama_kolom_join_tabel_pertama adalah nama kolom yang akan digunakan sebagai join dari
tabel pertama.
• nama_kolom_join_tabel_kedua adalah nama kolom yang akan digunakan sebagai join dari
tabel kedua.
SELECT….INNER JOIN….ON
• Syarat untuk INNER JOIN adalah kedua tabel harus memiliki sebuah kolom
dengan nilai yang sama. Kolom tersebut yang akan digunakan dalam proses 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. Perhatikan walaupun keduanya berisi NIP,
namun nama kolomnya berbeda.
SELECT….INNER JOIN….ON
• SELECT nama_matakul,jumlah_SKS,nama_dosen FROM mata_kuliah INNER
JOIN daftar_dosen ON NIP_dosen=NIP;
• Dari hasil query SELECT diatas, saya menggabung tabel mata_kuliah dan
daftar_dosen untuk mendapatkan tampilan seluruh mata kuliah, jumlah sks, dan
nama dosen yang mengajar.
• Kita menggunakan tabel mata_kuliah sebagai tabel pertama, dan tabel
daftar_dosen sebagai tabel kedua.
SELECT….INNER JOIN….USING
• SELECT nama_kolom_tampil FROM nama_tabel_pertama INNER JOIN
nama_tabel_kedua USING (nama_kolom_join)
• nama_kolom_tampil adalah nama dari kolom yang akan kita tampilkan, bisa semua
kolom dalam tabel, atau hanya kolom tertentu saja.
• nama_tabel_pertama adalah nama tabel pertama yang akan digabung.
• nama_tabel_kedua adalah nama tabel kedua yang akan digabung.
• nama_kolom_join adalah nama kolom yang akan digunakan sebagai join
• Syarat untuk INNER JOIN..USING adalah kedua tabel harus memiliki nama
kolom yang sama. Dalam contoh kita, kolom tersebut adalah kolom NIP
SELECT….INNER JOIN….USING
• Namun karena nama kolom NIP untuk tabel mata_kuliah adalah NIP_dosen, sedangkan pada kolom daftar_dosen
kolom NIP hanya NIP saja, maka harus disamakan terlebih dahulu. Untuk hal ini saya memutuskan kedua kolom akan
bernama NIP_dosen.
• ALTER TABLE daftar_dosen CHANGE NIP NIP_dosen CHAR(10);
• SELECT nama_matkul, jumlah_SKS, nama_dosen FROM mata_kuliah INNER
JOIN daftar_dosen USING (NIP_dosen);
Hasilnya sama persis dengan SELECT..INNER JOIN..ON, hanya berbeda cara penulisan.
Di dalam MySQL, kata INNER JOIN dapat diganti dengan CROSS JOIN, atau hanya JOIN
saja. Ketiga kata kunci ini memiliki fungsi yang sama. MySQL menyediakannya agar dapat
kompatible dengan bahasa SQL dari RDBMS lainnya seperti ORACLE dan MS SQL.
Misalnya untuk query kita diatas, dapat juga ditulis menjadi :
SELECT nama_matkul, jumlah_SKS, nama_dosen FROM mata_kuliah CROSS JOIN
daftar_dosen USING (NIP_dosen);
CARA PENULISAN NAMA KOLOM:
NAMA_TABEL.NAMA_KOLOM
Setelah kita merubah nama kolom NIP menjadi NIP_dosen pada tabel daftar_dosen, sekarang
tiap tabel memiliki nama kolom yang sama, yakni NIP_dosen.
Jika kita jalankan kembali query SELECT..INNER JOIN..ON dengan nama kolom ini, MySQL
akan mengeluarkan error:
SELECT nama_matkul,jumlah_SKS,nama_dosen FROM mata_kuliah INNER JOIN
daftar_dosen ON NIP_dosen=NIP_dosen;
Dari pesan error yang terjadi, MySQL ‘bingung’ dalam memilih kolom. Query ON NIP_dosen=NIP_dosen menjadi ambigu
karena kedua tabel kita memiliki nama kolom yang sama.
CARA PENULISAN NAMA KOLOM:
NAMA_TABEL.NAMA_KOLOM
Untuk mengatasi ambiguitas ini, MySQL mengharuskan kita secara eksplisit menyebutkan
nama tabelnya. Cara penulisan ini menggunakan tanda titik sebagai pemisah:
Nama_Tabel.Nama_Kolom
Misalkan untuk merujuk pada kolom NIP_dosen pada tabel mata_kuliah, maka penulisannya
menjadi:
Mata_kuliah.NIP_dosen
Sehingga query SELECT..INNER JOIN..ON yang benar adalah:
SELECT nama_matkul,jumlah_SKS,nama_dosen FROM mata_kuliah INNER JOIN
daftar_dosen ON mata_kuliah.NIP_dosen=daftar_dosen.NIP_dosen;

Weitere ähnliche Inhalte

Ähnlich wie INNER JOIN.pptx (15)

Part 11 table join
Part 11  table joinPart 11  table join
Part 11 table join
 
Tutorial membuat form dalam netbeans versi2
Tutorial membuat form dalam netbeans versi2Tutorial membuat form dalam netbeans versi2
Tutorial membuat form dalam netbeans versi2
 
Sql programming
Sql programmingSql programming
Sql programming
 
Sql (4)
Sql (4)Sql (4)
Sql (4)
 
12 php mysql 2 study case
12 php mysql 2   study case12 php mysql 2   study case
12 php mysql 2 study case
 
Modul%20 mysql
Modul%20 mysqlModul%20 mysql
Modul%20 mysql
 
Jobsheet mysql
Jobsheet mysqlJobsheet mysql
Jobsheet mysql
 
Sql (4)
Sql (4)Sql (4)
Sql (4)
 
Laporan praktikum modul 8 (dml part 2)
Laporan praktikum modul 8 (dml part 2)Laporan praktikum modul 8 (dml part 2)
Laporan praktikum modul 8 (dml part 2)
 
Pemrograman database i ddl 2
Pemrograman database i   ddl 2Pemrograman database i   ddl 2
Pemrograman database i ddl 2
 
Tupen 4 1235010002
Tupen 4 1235010002Tupen 4 1235010002
Tupen 4 1235010002
 
Data manipulation language 2
Data  manipulation language 2Data  manipulation language 2
Data manipulation language 2
 
MYSQL BAB III
MYSQL BAB IIIMYSQL BAB III
MYSQL BAB III
 
Materi SQL Query Berjenjang
Materi SQL Query Berjenjang Materi SQL Query Berjenjang
Materi SQL Query Berjenjang
 
Pertemuan11
Pertemuan11Pertemuan11
Pertemuan11
 

Kürzlich hochgeladen

Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
Metode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfMetode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfArvinThamsir1
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfMODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfihsan386426
 
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdfAnonymous6yIobha8QY
 
10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppttaniaalda710
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfYogiCahyoPurnomo
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxRemigius1984
 

Kürzlich hochgeladen (8)

Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
Metode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfMetode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdf
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfMODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
 
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
 
10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptx
 

INNER JOIN.pptx

  • 2. INNER JOIN Inner Join adalah perintah query yang disediakan oleh mysql untuk menggabungkan dua buah table pada database kita.
  • 3. DUA (2) VARIASI QUERY DALAM INNER JOIN • SELECT…..INNER JOIN…..ON • SELECT…..INNER JOIN…..USING
  • 4. SELECT….INNER JOIN….ON Buat table mata_kuliah Buat table daftar_dosen
  • 5. SELECT….INNER JOIN….ON • SELECT nama_kolom_tampil FROM nama_tabel_pertama INNER JOIN nama_tabel_kedua ON nama_kolom_join_tabel_pertama = nama_kolom_join_tabel_kedua • nama_kolom_tampil adalah nama dari kolom yang akan kita tampilkan, bisa semua kolom dalam tabel, atau hanya kolom tertentu saja. • nama_tabel_pertama adalah nama tabel pertama yang akan digabung. • nama_tabel_kedua adalah nama tabel kedua yang akan digabung. • nama_kolom_join_tabel_pertama adalah nama kolom yang akan digunakan sebagai join dari tabel pertama. • nama_kolom_join_tabel_kedua adalah nama kolom yang akan digunakan sebagai join dari tabel kedua.
  • 6. SELECT….INNER JOIN….ON • Syarat untuk INNER JOIN adalah kedua tabel harus memiliki sebuah kolom dengan nilai yang sama. Kolom tersebut yang akan digunakan dalam proses 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. Perhatikan walaupun keduanya berisi NIP, namun nama kolomnya berbeda.
  • 7. SELECT….INNER JOIN….ON • SELECT nama_matakul,jumlah_SKS,nama_dosen FROM mata_kuliah INNER JOIN daftar_dosen ON NIP_dosen=NIP; • Dari hasil query SELECT diatas, saya menggabung tabel mata_kuliah dan daftar_dosen untuk mendapatkan tampilan seluruh mata kuliah, jumlah sks, dan nama dosen yang mengajar. • Kita menggunakan tabel mata_kuliah sebagai tabel pertama, dan tabel daftar_dosen sebagai tabel kedua.
  • 8. SELECT….INNER JOIN….USING • SELECT nama_kolom_tampil FROM nama_tabel_pertama INNER JOIN nama_tabel_kedua USING (nama_kolom_join) • nama_kolom_tampil adalah nama dari kolom yang akan kita tampilkan, bisa semua kolom dalam tabel, atau hanya kolom tertentu saja. • nama_tabel_pertama adalah nama tabel pertama yang akan digabung. • nama_tabel_kedua adalah nama tabel kedua yang akan digabung. • nama_kolom_join adalah nama kolom yang akan digunakan sebagai join • Syarat untuk INNER JOIN..USING adalah kedua tabel harus memiliki nama kolom yang sama. Dalam contoh kita, kolom tersebut adalah kolom NIP
  • 9. SELECT….INNER JOIN….USING • Namun karena nama kolom NIP untuk tabel mata_kuliah adalah NIP_dosen, sedangkan pada kolom daftar_dosen kolom NIP hanya NIP saja, maka harus disamakan terlebih dahulu. Untuk hal ini saya memutuskan kedua kolom akan bernama NIP_dosen. • ALTER TABLE daftar_dosen CHANGE NIP NIP_dosen CHAR(10); • SELECT nama_matkul, jumlah_SKS, nama_dosen FROM mata_kuliah INNER JOIN daftar_dosen USING (NIP_dosen); Hasilnya sama persis dengan SELECT..INNER JOIN..ON, hanya berbeda cara penulisan. Di dalam MySQL, kata INNER JOIN dapat diganti dengan CROSS JOIN, atau hanya JOIN saja. Ketiga kata kunci ini memiliki fungsi yang sama. MySQL menyediakannya agar dapat kompatible dengan bahasa SQL dari RDBMS lainnya seperti ORACLE dan MS SQL. Misalnya untuk query kita diatas, dapat juga ditulis menjadi : SELECT nama_matkul, jumlah_SKS, nama_dosen FROM mata_kuliah CROSS JOIN daftar_dosen USING (NIP_dosen);
  • 10. CARA PENULISAN NAMA KOLOM: NAMA_TABEL.NAMA_KOLOM Setelah kita merubah nama kolom NIP menjadi NIP_dosen pada tabel daftar_dosen, sekarang tiap tabel memiliki nama kolom yang sama, yakni NIP_dosen. Jika kita jalankan kembali query SELECT..INNER JOIN..ON dengan nama kolom ini, MySQL akan mengeluarkan error: SELECT nama_matkul,jumlah_SKS,nama_dosen FROM mata_kuliah INNER JOIN daftar_dosen ON NIP_dosen=NIP_dosen; Dari pesan error yang terjadi, MySQL ‘bingung’ dalam memilih kolom. Query ON NIP_dosen=NIP_dosen menjadi ambigu karena kedua tabel kita memiliki nama kolom yang sama.
  • 11. CARA PENULISAN NAMA KOLOM: NAMA_TABEL.NAMA_KOLOM Untuk mengatasi ambiguitas ini, MySQL mengharuskan kita secara eksplisit menyebutkan nama tabelnya. Cara penulisan ini menggunakan tanda titik sebagai pemisah: Nama_Tabel.Nama_Kolom Misalkan untuk merujuk pada kolom NIP_dosen pada tabel mata_kuliah, maka penulisannya menjadi: Mata_kuliah.NIP_dosen Sehingga query SELECT..INNER JOIN..ON yang benar adalah: SELECT nama_matkul,jumlah_SKS,nama_dosen FROM mata_kuliah INNER JOIN daftar_dosen ON mata_kuliah.NIP_dosen=daftar_dosen.NIP_dosen;