Background

Pengertian Join dan View (Tugas3) : Sistem Informasi Perdagangan


Ø Pengertian VIEW
Pengertian VIEW JOIN dan beberapa Jenis fungsionalnya :
View adalah salah satu object database, yang secara logika merepresentasikan sub himpunan dari data yang berasal dari satu atau lebih table. Kegunaan dari view adalah :
 Membatasi akses database
 Membuat query kompleks secara mudah
 Mengijinkan independensi data
 Untuk menampilkan view (pandangan) data yang berbeda dari data yang sama.
View dapat dibuat dengan perintah CREATE VIEW. Subquery dapat dicantumkan dalam CREATE VIEW, tapi subquery yang digunakan tidak boleh berisi klausa .
Sintak penulisan VIEW :
CREATE VIEW [OR REPLACE] nama_view [(kolom1, kolom2, ...)] AS SELECT kolom_yang_dimaksud FROM nama_tabel WHERE kondisi GROUP BY kolom1,kolom2,… HAVING kondisi_Aggregate ORDER BY kolom_tertentu
Perintah pembuatan table view :
SQL> CREATE VIEW myview
AS SELECT empno EMPLOYEE_NO, NAMA nama, GAJI sal, pekerjaan JOB
FROM emp
WHERE deptno=20;

Ø Pengertian Join
Join adalah operasi untuk mengambil informasi dari 2 tabel atau lebih dalam 1 waktu. Dengan join baris data dari satu tabel dihubungkan dengan baris data pada tabel lain berdasarkan kolom tertentu. JOIN dalam mysql adalah Salah satu fitur SQL yang paling berguna untuk menggabungkan table dengan query – query yang mendapatkan kembali data.
Macam – macam JOIN :
1.     Inner Join
Inner join adalah join yang hanya akan menampilkan baris untuk data yang memiliki nilai yang sama/ yang ada pasangannya pada field kunci dengan tabel yang berelasi. 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>
2.     Outer Join
Outer join akan menghasilkan sebuah data dari sebuah tabel dan membatasi data dari tabel lainnya. Terdapat 3 tipe Outer join yaitu Left Join, Right Join, dan Full Join.
§  Left Outer Join
Operasi Join tipe ini akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yg disisi kanan nilainya tidak sama ataupun bernilai null.
Bentuk perintah Left Outer Join :
SELECT <field1>,<field2>,<fieldn> FROM <tabel1> LEFT JOIN <tabel2> ON<key.tabel1> = <key.tabel2>
§  Right Outer Join
Operasi Join tipe ini akan menampilkan semua isi tabel sisi Kanan, walaupun data di pasangan joinnya yg disisi kiri nilainya tidak sama ataupun bernilai null.
Bentuk perintah Right Outer Join :
  SELECT <field1>,<field2>,<fieldn> FROM <tabel1> RIGHT JOIN <tabel2>ON <key.tabel1> = <key.tabel2>
§  Full Join / Full Outer Join
Penggunaan FULL JOIN adalah untuk menampilkan kedua table dengan record – record yang bersesuaian saja. Field yang berelasi ditampilkan sekali di awal table atau paling kiri. Lihat gambar di bawah. Full Join adalah Gabungan dari left dan right outer join

Syntak :
select*from [Tabel_1] full join [Tabel_2] using([field yang berelasi]);

Penggunaan FULL JOIN juga bisa seperti gambar di bawah.
Syntak :
select*from [Tabel_1] full join [Tabel_2];

3.     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>

4.     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.
Agar lebih jelas, perhatikan contoh berikut ini.
Contoh :
Tampilkan nip, nama dan gaji dari pegawai yang bekerja di bagian akuntansi dan SDM. (anggap saja perintah sql yang digunakan sudah kompleks) Bila menggunakan perintah OR, maka perintah sqlnya akan seperti dibawah ini :
select i.nip,i.nama,p.gaji from infoprib i join pekerjaan p oni.nip=p.nip where p.kode_bag="3" or p.kode_bag="4";
Tetapi  perintah  OR  dapat  diganti  dengan  perintah  UNION  dan  bila  di  jalankan  akan menghasilkan hal yang sama.
(select i.nip,i.nama,p.gaji from infoprib i join pekerjaan p oni.nip=p.nip where p.kode_bag="3") UNION

(select i.nip,i.nama,p.gaji from infoprib i join pekerjaan p oni.nip=p.nip where p.kode_bag="4")

Categories: Share

Leave a Reply