Selasa, 03 Mei 2011

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.
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 :
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 :
select*from sales, pelanggan;
atau dapat ditulis
select*from sales cross join pelanggan;
Operasi cross join di atas diperbaiki menjadi :
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' :
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 :
(select nama from pinjam) union (select nama from tabungan);

Operator Intersect
Digunakan untuk memperoleh baris-baris yang terdapat pada keuda tabel.
Contoh :
(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.
(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.
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

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Justin Bieber, Gold Price in India