Jumat, 18 Juli 2014

MACAM - MACAM JOIN DAN PENJELASANNYA


  1. Jelaskan jenis-jenis join

Di dalam database, ada kalanya kita membutuhkan data dari beberapa tabel yang saling berhubungan.
Untuk mendapatkan data dari beberapa tabel tersebut dapat digunakan perintah join pada perintah SQL.
Pada MySQL, perintah join ada beberapa macam yaitu :

  • Inner Join
  • Outer Join
  • Cross Join
  • Union Join

#Inner Join

Inner join merupakan jenis join yang paling umum yang dapat digunakan pada semua database. Jenis ini dapat digunakan bila ingin merelasikan dua set data yang ada di tabel, letak relasinya setelah pada perintah ON pada join.
Bentuk baku perintah inner join :
SELECT <field1>,<field2>,<fieldn> FROM <tabel1> INNER JOIN <tabel2>
ON <key.tabel1> = <key.tabel2>

#Outer Join

Outer join merupakan jenis join yang sedikit berbeda dengan inner join. Pada MySQL, bentuk perintah untuk menerapkan outer join ada 2 yaitu :
SELECT <field1>,<field2>,<fieldn> FROM <tabel1> LEFT JOIN <tabel2> ON
<key.tabel1> = <key.tabel2>
dan
SELECT <field1>,<field2>,<fieldn> FROM <tabel1> RIGHT JOIN <tabel2>
ON <key.tabel1> = <key.tabel2>

Left join digunakan dalam situasi ketika ingin mengembalikan semua elemen data set A, terlepas dari
apakah nilai kunci ada dalam data set B.

Right join digunakan dalam situasi ketika ingin mengembalikan semua elemen data set B, terlepas dari
apakah nilai kunci ada dalam data set A.

Bila ingin menampilkan semua data yang ada di tabel sebelah kiri baik yang mempunyai pasangan ataupun yang tidak mempunyai pasangan dengan data pada tabel di sebelah kanan, maka gunakan left join. Sedangkan bila yang terjadi adalah kebalikannya, yaitu ingin menampilkan semua data yang ada di sebelah kanan baik yang mempunyai pasangan ataupun yang tidak mempunyai pasangan dengan data pada tabel di sebelah kiri, maka gunakan right join.

#Cross Join

Cross join kadang kala disebut juga sebagai Cartesian Product. Bila menggunakan cross join, maka hasil dari cross join akan menciptakan hasil yang didasarkan pada semua kemungkinan kombinasi baris dalam kedua set data. Dengan demikian, jumlah baris yang dikembalikan adalah N ✕ M , dimana N adalah jumlah baris dalam kumpulan data A dan M jumlah baris dalam kumpulan data B. Jelas, jumlah baris dalam cross join dapat menjadi sampah.

Bentuk perintah dari cross join adalah :
SELECT <field1>,<field2>,<fieldn> FROM <tabel1> CROSS JOIN <tabel2> atau SELECT <field1>,<field2>,<fieldn> FROM <tabel1>, <tabel2>

#Union Join
Union didukung oleh MySQL mulai dari versi 4.0. Pemakaian union dapat menyederhanakan perintah persyaratan OR yang bertingkat. Bila dalam sebuah query menghasilkan pemakaian perintah OR yang lebih dari satu sehingga dapat membuat bingung, sebagai gantinya digunakan perintah UNION. Union dapat dikatakan sebagai perintah untuk menggabungkan hasil query sql yang fungsinya sama dengan perintah OR

2. Buat Planing View dan Join sesuai dengan Topik anda (diskripsiakan masing2 fungsi dan
keperluannya dalam sistem)

Kebutuhan Join
Metode yang digunakan adalah Inner Join
Join_Stok
Join_Dakar diperoleh dari menggabungkan table PEMILIK dan table KARYAWAN
Planning join
Menggunakan metode Inner Join
1. JOIN _SUPPLY


Field yang dijadikan acuan yang sama adalah kd_pemilik sebagai foreign key pada table supplier

Hasil dari join_supply


Fungsi dan kebutuhan : sebagai bukti penyetokan barang

2. JOIN_KARYAWAN_TOKO
Diperoleh dari menggabungkan table karyawan dan table toko hp


Field yang dijadikan acuan yang sama adalah kd_toko sebagai foreign key pada table karyawan.
Hasil join :


3. JOIN_BARANG_TOKO
Diperoleh dari menggabungkan table hp , accessoris, pulsa, dan toko hp


Field yang digunakan sebagai acuan yang sama adalah kd_toko sebagai foreign key pada table hp,pulsa, accessoris, dan toko hp.

Hasil join:


Fungsi dan kebutuhan : untuk menampilkan data barang di toko

4. JOIN_SERVICE
Diperoleh dari menggabungkan table servis dan toko hp


Field yang digunakan sebagai acuan yang sama adalah kd_toko, sebagai foreign key pada table service


Fungsi dan kebutuhan untuk menampilkan data tentang hp yang disservice.
View yang digunakan
VIEW_SUPPLY untuk menampilkan JOIN_SUPPLY
VIEW_KARYAWAN untuk menampilkan JOIN_KARYAWAN_TOKO
VIEW_BARANG untuk menampilkan JOIN_BARANG_TOKO
VIEW_SERVICE untuk menampilkan JOIN_SERVICE





3 komentar: