Blog Punyanya Abdul Holik

Selasa, 26 Mei 2015

QUERY ANTAR TABEL

21.03 Posted by Hamizan No comments
Query Antar Tabel



Jenis-jenis tabel berdasarkan fungsinya

Tabel Data
Adalah sebuah tabel yang menampung data-data yang digunakan sebagai informasi. Table data merupakan table yang sangat umum digunakan dalam database relasi. Biasanya sifat data pada table ini adalah dinamis karena sering diubah, dihapus dan diperbaharui.

Tabel Validasi
Adalah sebuah table yang menampung data-data yang memiliki criteria tertentu dan biasanya digunakan oleh data pada table lainnya sebagai validasi. Table validasi tersebut juga table referensi (reference table) dan table pencarian (look-up table). Oleh karena itu biasanya table validasi harus lebih dulu ada struktur data dan isinya, sebelum table-table lainnya.

Tabel Penghubung
Adalah sebuah table yang berfungsi sebagai ‘jembatan’ antara dua table yang mengalami relasi many-to-many. Dengan adanya table penghubung, maka hubungan relasi yang terjadi akan berubah dari many-to -many. Menjadi one-to-many.

Menggabungkan Tabel

Contoh :
Akan menampilkan nama pegawai yang lokasi departemennya di KENDAL.
view plainprint?
Select nama from pegawai,departemen where pegawai.id_departemen=departemen.id_departemen and departemen.lokasi=’KENDAL’;  

Menggunakan Alias
Nama tabel yang digunakan dalam query antartabel dapat diganti dengan manyebutkan nama aliasnya :
view plainprint?
Select nama from pegawai x,departemen y where x.id_departemen=y.id_departemen and y.lokasi=’KENDAL’;  

Operator Cross Join / Perkalian Kartesian
Operator Cross Join digunakan untuk melakukan operasi perkalian kartesian.
Contoh :
Akan dilakukan operasi cross join untuk dua buah table :
Dengan Perintah :
view plainprint?
select*from sales, pelanggan;  
atau dapat ditulis  
select*from sales cross join pelanggan;  
Operasi cross join di atas diperbaiki menjadi :
view plainprint?
select*from sales, pelanggan where sales.id_sales = pelanggan.id_sales;  

Equajoin

Adalah penggabungan antar table yang menggunakan operator = pada kondisi where. (sebagai contoh perhatian penggabungan antar tabel seperti diatas)

Selfjoin
Adalah penggabungan antar tabel yang sama :
Contoh :
Akan ditampilkan nama pegawai yang pekerjaannya 'salesman' dan pegawai yang pekerjaannya 'manages' :
view plainprint?
select x.nama, y.nama from pegawai x, pegawai y where x.pekerjaan='salesman' and y.pekerjaan='manager';  

Operator Union
Digunakan untuk menggabungkan hasil dari dua buah query.
Contoh :
view plainprint?
(select nama from pinjam) union (select nama from tabungan);  

Operator Intersect
Digunakan untuk memperoleh baris-baris yang terdapat pada keuda tabel.
Contoh :
view plainprint?
(select nama from pinjam) intersect (select nama from tabungan);  

Operator Except / Minus
Jika terdapat tabel A dan B, operasi except akan menghasilkan semua yang ada pada tabel A tetapi tidak terdapat pada tabel B :
Contoh :
Akan menampilkan semua nama nasabah yang mempunyai simpanan tetapi tidak mempunyai pinjaman.
view plainprint?
(select nama from pinjam) except (select nama from tabungan);  
Keterangan : Perintah-perintah seperti UNIO, INTERSECT dan EXCEPT / MINUS hanya dapat dioperasikan pada MySQL mulai versi 3.24. sehingga apabila MySQL yang kita gunakan dibawah versi tersebut, maka perintah-perintah tersebut tidak dapat berfungsi.

Operator Natural Join
Operator natural join akan melakukan operasi equijoin dengan memperlakukan nama-nama field yang sama sebagai field penghubung antar tabel.
Contoh :
Akan direlasikan dua buah table yaitu tabel pegawai dengan tabel departemen dengan kata kunci relasinya adalah id_departemen.
view plainprint?
select nama,ndepartemen, lokasi from pegawai, departemen where pegawai.id_departemen = departemen.id_departemen order by nama;  
atau dapat ditulis :  
select nama,ndepartemen, lokasi from pegawai natural join departemen order by nama;  


0 komentar:

Posting Komentar