Anda di halaman 1dari 5

7/6/13

Tipe / Jenis JOIN TABLE pada MySQL 5.0 - MySQL Tutorial Bahasa Indonesia - by PHI-Integration
Search this site

PHI's Corner

Bahasa SQL >

Tipe / Jenis JOIN TABLE pada MySQL 5.0


Contents 1 INNER JOIN 1.1 INNER JOIN Antar Table dengan Kondisi ("ms_cabang" dan "ms_kota" dengan key "kode_kota") 1.2 INNER JOIN Antar Table Tanpa Kondisi ("ms_cabang" dengan "ms_kota") 1.3 Implisit INNER JOIN dengan Koma 2 CROSS JOIN 3 OUTER JOIN 4 STRAIGHT_JOIN 5 Penutup

Menu Utama
Halaman Depan Cara Menggunakan MySQL Instalasi Administrasi MySQL MySQL Client SQLyog Maatkit PHPMyAdmin SQLyog Bahasa SQL Tips MySQL PHP / MySQL Download Artikel

Jika Anda telah memahami fungsi join pada database relasional untuk menghubungkan berbagai table, maka artikel berikut akan menjelaskan dan menunjukkan contoh penggunaan variasi join pada MySQL versi 5.0. JOIN sendiri merupakan konstruksi bahasa yang tidak bisa berdiri sendiri, biasanya berupa klausa pada bagian referensi table pada SELECT, UPDATE atau DELETE statement. Tipe-tipe JOIN yang akan dibahas adalah : I N N E RJ O I N C R O S SJ O I N O U T E RJ O I N S T R A I G H TJ O I N Semua contoh pada artikel ini menggunakan database PHI-Minimart. JIka Anda belum melakukan hal tersebut, silahkan lakukan instalasi dengan dua pilihan, PHI-Minimart full atau PHI-Minimart master table saja. Tiga table yang akan kita gunakan dari database tersebut adalah ms_cabang, ms_kota dan ms_propinsi dengan relasi terlihat seperti pada gambar berikut.

Konsep Umum
Apa Itu Database ? Apa itu Join ? Tipe / Jenis JOIN TABLE pada MySQL 5.0 Kesalahan Umum Cara Menggunakan MySQL

Lain-lain
Komunitas dan User Group Lowongan

Business Intelligence (BI)

Keterangan : Relasi antar table ms_cabang, ms_kota dan ms_propinsi

INNER JOIN
INNER JOIN adalah tipe join yang akan kita bahas pertama. Tipe join ini akan mengambil semua row dari table asal dan table tujuan dengan kondisi nilai key yang terkait saja - jika ada, dan jika tidak maka row tersebut tidak akan muncul. Kalau tidak terdapat kondisi key terkait antar table, maka semua row dari kedua table dikombinasikan. Syntax dari INNER JOIN adalah sebagai berikut : t a b l e _ r e f e r e n c e[ I N N E R ]J O I Nt a b l e _ f a c t o r[ j o i n _ c o n d i t i o n ] Training BI & SQL Terlihat bahwa keyword INNER boleh digunakan secara eksplisit atau tidak. Jika tidak digunakan maka konstruksi JOIN tanpa keyword lain dianggap sebagai INNER JOIN.

INNER JOIN Antar Table dengan Kondisi ("ms_cabang" dan "ms_kota" dengan key "kode_kota") Situs Terkait
- KampusBI.com - Pentaho @ PHI-Integration.com - Manual Download - BelajarExcel.info - BelajarSQL.com

S E L E C T*F R O Mm s _ c a b a n gI N N E RJ O I Nm s _ k o t aO Nm s _ c a b a n g . k o d e _ k o t a=m s _ k o t a . k o d e _ k o t a Hasil terlihat seperti gambar berikut ini. Disini table sumber adalah ms_cabang (left) mencari referensi row lain dari table ms_kota (right) dengan kondisi nilai kode_kota diantara kedua table tersebut sama. Kondisi ini menggunakan keyword ON. Dengan panduan gambar, kita lihat bahwa tiap row dari ms_cabang akan dicari padanan row-nya di ms_kota : untuk row pertama kita memiliki kode_kota dengan nilai "KOTA-003", ini akan dicari referensinya ke table ms_kota untuk nilai yang sama dan kita dapatkan row dengan nilai nama_kota "Lhokseumawe" adalah padanannya. untuk row kedua kita memiliki kode_kota dengan nilai "KOTA-083", ini akan dicari referensinya ke table ms_kota untuk nilai yang sama dan kita dapatkan row dengan nilai nama_kota "Bau-bau" adalah padanannya. demikian seterusnya.

mysql.phi-integration.com/sql/tipe-tipe-join-pada-mysql-5

1/5

7/6/13

Tipe / Jenis JOIN TABLE pada MySQL 5.0 - MySQL Tutorial Bahasa Indonesia - by PHI-Integration

Sekarang mari kita coba hapus referensi untuk "Lhokseumawe" dari table ms_kota : D E L E T EF R O Mm s _ k o t aW H E R En a m a _ k o t a=' L h o k s e u m a w e ' ; Setelah itu coba jalankan kembali perintah JOIN di atas, Anda akan mendapatkan hasil JOIN tanpa referensi row "Lhokseumawe". Jadi INNER JOIN dengan kondisi mengharuskan row dari tiap table memiliki nilai yang sama untuk column referensinya (dalam hal ini kode_kota ).

Kembalikan lagi row referensi yang kita hapus tadi dengan perintah INSERT berikut ini : I N S E R TI N T O` m s _ k o t a `V A L U E S( ' K O T A 0 0 3 ' , ' L h o k s e u m a w e ' , ' P 3 3 ' )

INNER JOIN Antar Table Tanpa Kondisi ("ms_cabang" dengan "ms_kota") S E L E C T*F R O Mm s _ c a b a n gI N N E RJ O I Nm s _ k o t a Hasilnya adalah untuk tiap row dari ms_cabang akan dikombinasikan dengan semua row dari ms_kota - contoh hasilnya terlihat seperti pada gambar di bawah ini.

mysql.phi-integration.com/sql/tipe-tipe-join-pada-mysql-5

2/5

7/6/13

Tipe / Jenis JOIN TABLE pada MySQL 5.0 - MySQL Tutorial Bahasa Indonesia - by PHI-Integration

INNER JOIN antar table "ms_cabang", "ms_kota" dan "ms_propinsi" S E L E C Tm s _ c a b a n g . n a m a _ c a b a n g , m s _ k o t a . n a m a _ k o t a , m s _ p r o p i n s i . n a m a _ p r o p i n s i F R O Mm s _ c a b a n g I N N E RJ O I Nm s _ k o t aO Nm s _ c a b a n g . k o d e _ k o t a=m s _ k o t a . k o d e _ k o t a I N N E RJ O I Nm s _ p r o p i n s iO Nm s _ k o t a . k o d e _ p r o p i n s i=m s _ p r o p i n s i . k o d e _ p r o p i n s i Hasil eksekusi terlihat seperti gambar berikut. Dengan penggabungan ketiga table ini sekarang kita dapatkan setiap cabang memiliki informasi nama kota dan nama propinsi dimana cabang tersebut berada.

Implisit INNER JOIN dengan Koma INNER JOIN antar table secara implisit dapat menggunakan daftar table yang dipisah dengan tanda koma ( , ) . Pengkondisian menggunakan klausa w h e r e . S E L E C Tm s _ c a b a n g . n a m a _ c a b a n g , m s _ k o t a . n a m a _ k o t a , m s _ p r o p i n s i . n a m a _ p r o p i n s i F R O M m s _ c a b a n g ,m s _ k o t a ,m s _ p r o p i n s i W H E R E m s _ c a b a n g . k o d e _ k o t a=m s _ k o t a . k o d e _ k o t a A N D m s _ k o t a . k o d e _ p r o p i n s i=m s _ p r o p i n s i . k o d e _ p r o p i n s i

CROSS JOIN
CROSS JOIN identik dengan INNER JOIN pada MySQL 5.0. Pembahasannya sama dengan INNER JOIN sehingga tidak diulangi lagi disini. Contoh Penggunaan :

mysql.phi-integration.com/sql/tipe-tipe-join-pada-mysql-5

3/5

7/6/13

Tipe / Jenis JOIN TABLE pada MySQL 5.0 - MySQL Tutorial Bahasa Indonesia - by PHI-Integration
S E L E C Tm s _ c a b a n g . n a m a _ c a b a n g , m s _ k o t a . n a m a _ k o t a , m s _ p r o p i n s i . n a m a _ p r o p i n s i F R O M m s _ c a b a n g C R O S SJ O I N m s _ k o t aO Nm s _ c a b a n g . k o d e _ k o t a=m s _ k o t a . k o d e _ k o t a C R O S SJ O I N m s _ p r o p i n s iO Nm s _ k o t a . k o d e _ p r o p i n s i=m s _ p r o p i n s i . k o d e _ p r o p i n s i

OUTER JOIN
OUTER JOIN merupakan tipe join yang mencari referensi data dari suatu table sumber ke table lain dengan tidak menghilangkan data sumber apabila referensi tidak diketemukan. Untuk menggunakan tipe OUTER JOIN maka perlu memperhatikan beberapa hal berikut : perlu dibedakan antara table sumber dan table referensi, ini ditentukan dengan cara menspesifikasikan kedudukan table sumber apakah di kiri (LEFT) atau di kanan (RIGHT). jika tidak ada data dari table referensi yang cocok dengan kondisi join maka hanya data dari table sumber yang ditampilkan tetapi kolomkolom table referensi akan berisi null. Contoh Penggunaan : Hapus data master "Lhokseumawe" dari table ms_kota D E L E T EF R O Mm s _ k o t aW H E R En a m a _ k o t a=' L h o k s e u m a w e ' Lakukan join seperti perintah berikut ini, dan perhatikan hasilnya seperti pada gambar. S E L E C Tm s _ c a b a n g . * , m s _ k o t a . n a m a _ k o t a F R O Mm s _ c a b a n g L E F TO U T E RJ O I Nm s _ k o t a O Nm s _ c a b a n g . k o d e _ k o t a=m s _ k o t a . k o d e _ k o t a

Tambahkan kembali data "Lhokseumawe" ke table ms_kota I N S E R TI N T Om s _ k o t a ( k o d e _ k o t a ,n a m a _ k o t a ,k o d e _ p r o p i n s i ) V A L U E S( ' K O T A 0 0 3 ' ,' L h o k s e u m a w e ' ,' P 3 3 ' ) ; Sekarang coba ganti syntax pada query di atas dari "LEFT" menjadi "RIGHT" dan lihat hasil eksekusinya. Tentunya dari hasil tersebut Anda sudah dapat mengambil kesimpulan perbedaan dari kedua konstruksi tersebut.

STRAIGHT_JOIN
STRAIGHT_JOIN merupakan pengganti keyword JOIN pada MySQL yang digunakan untuk "memaksa" proses join table dari kiri (LEFT) ke kanan (RIGHT). Contoh Penggunaan : S E L E C Tm s _ c a b a n g . * , m s _ k o t a . n a m a _ k o t a F R O Mm s _ c a b a n g S T R A I G H T _ J O I Nm s _ k o t a O Nm s _ c a b a n g . k o d e _ k o t a=m s _ k o t a . k o d e _ k o t a

mysql.phi-integration.com/sql/tipe-tipe-join-pada-mysql-5

4/5

7/6/13

Tipe / Jenis JOIN TABLE pada MySQL 5.0 - MySQL Tutorial Bahasa Indonesia - by PHI-Integration

Penutup
Demikian artikel mengenai tipe-tipe join ini kami buat, semoga bisa berguna buat pembaca sekalian. Apabila Anda ingin berdiskusi lebih lanjut dapat bergabung di milis belajar-sql@googlegroups.com. Cara bergabung sangat gampang, silahkan kirim email ke belajar-sql+subscribe@googlegroups.com dan balas konfirmasinya.

Like

Send

36 people like this.

Comments

Sign in | Report Abuse | Print Page | Remove Access | Powered By Google Sites

mysql.phi-integration.com/sql/tipe-tipe-join-pada-mysql-5

5/5

Anda mungkin juga menyukai