Jumat, 25 Januari 2013

JOIN PADA MYSQL


A. Pengertian Join Pada MYSQL

JOIN dalam mysql adalah Salah satu fitur SQL yang paling berguna untuk menggabungkan table dengan query – query yang mendapatkan kembali data. Join adalah salah satu dari beberapa operasi paling penting yang dapat anda lakukan dengan menggunakan statement SELECT.

INNER JOIN adalah Join yang menciptakan table hasil baru dengan menggabungkan nilai nilai kolom dari dua table ( A dan B ) didasarkan pada join predikat  SELF JOIN adalah Join yang bergabung dengan sebuah table ke dirinya sendiri .

NATURAL JOIN adalah Join yang dimana dilakukan dengan menggunakan wildcard ( SELECT * ) untuk suatu table dan sub-kumpulan eksplit dan field untuk semua table lainya.

OUTER JOIN adalah sebuah join yang tidak memerlukan setiap record dalam dua table bergabung untuk memiliki catatan cocok . table bergabung dengan mempertahankan setiap catatan – bahkan jika tidak ada catatan yang cocok lainya ada. 
Luar bergabung membagi lebih lanjut lebih ke kiri luar bergabung , kanan luar bergabung , dan penuh luar bergabung , tergantung pada table (s) mempertahankan satu baris dari ( kiri, kanan atau keduanya )

a. INNER JOIN 
SELECT supplier.Nama, Barang.Nama, Barang.Harga FROM supplier INNER JOIN Barang ON supplier.KodeSup = Barang.KodeSup

b. SELF JOIN 
CONTOH : SELECT c1.KodeCus, c1.Nama, c1.Kontak FROM Customer c1, Customer c2 WHERE c1.Nama = c2.Nama AND c2.Kontak='Jim Jones'

c. NATURAL JOIN
CONTOH : SELECT Customer.KodeCus, Penjualan.NoFaktur FROM Customer INNER JOIN Penjualan ON Customer.KodeCus = Penjualan.KodeCus

B. Listing dan Logika Program

Pada kali ini saya akan menjelaskan laporan yang saya buat. Karena sedang belajar pengenalan basis data maka dari itu kita akan membuat database dengan menggunakan xampp. Program xampp ini digunakan untuk membuat database. Pada gambar disamping ini, pertama – pertama kita mengaktifkan MySql. Setelah sudah aktif akan menampilkan layar seperti yang ada gambar diatas. Setelah MySql sudah aktif, kita buka CMD atau Command Prompt. 
Pada Command Prompt kita mula – mula menulis perintah sebagai gambar yang diatas. Pada perintah ini, menunjukkan kalau kita akan membuat direktori di xampp menggunakan MySql. Setelah itu kita akan mengetikkan perintah “ MySql –u root “.  Pada langkah – langkah berikutnya kita akan membuat suatu database. Disini saya menamakan databasenya adalah “ sbd3 “. Gambar dapat dilihat di samping ini. Perintah untuk membuat database adalah “ create ”. 
Setelah itu, kita akan membuat dua buah. 

Tabel pertama diberi nama mhs dan table kedua diberi nama mhsbio. Pada tabel pertama kita membuat field atau atribut npm yang sebagai primary key, nama dan kelas. Setelah itu table pertama akan kita input data – data yang ingin dimasukkan dengan perintah insert. Data – data tersebut dapa dilihat pada gambar diatas.
Setelah table mhs sudah dilanjutkan dengan membuat table mhsbio2. Pada table mhs2 ini kita membuat field atau atribut npm yang sama seperti table mhsbio yang sebagai primary key, alamat dan telp. Data tersebut juga kita input yang kita inginkan. Hanya saja pada table mhsbio2 ini kita menginput npm alamat dari mahasiswa tersebut dan telp – nya. Data – data yang diinput dapat dilihat dari gambar disamping ini. Setelah itu hasil dari kedua inputan akan ditampilkan digambar output dari program tersebut.




C. Output dari Program
Pada output yang ditampilkan ini masih terdapat dua kolom npm. Perintah untuk menampilkan ini dengan select yaitu memilih table mhsbio untuk digabung dengan mhsbio2 disebelah kiri. 





Pada output kedua ini, menampilkan output sebagai gambar disamping ini. Pada perintah tersebut hanya diperintahkan satu kolom npm dan hanya satu nomor telp setiap satu mahasiswa. Maka dari itu, output tersebut seperti gambar disamping ini.

Pada output yang terakhir ini menggunakan sub query. Pada subquery ini sama saja dengan menggunakan join. Akan tetapi pada subquery ini kita dapat mengganti nama kolom yang terdapat pada table. Akan tetapi pada output ini, saya tidak mengganti nama – nama yang ada dikolom tersebut. Gambar dapat dilihat disamping ini. 

2 komentar: