1. Planning View
Input : akan membuat view dari relasi antara tabel ‘DVD’ dan ‘Pelanggan’ dari system database Sistem Penjualan dan Penyewaan DVD Film dengan nama view_dvd_tersedia
Proses :
CREATE VIEW view_dvd_tersewa
AS
SELECT d.id_dvd,d.id_sewa,d.judul,d.genre,d.tahun_film,d.harga,p.id_sewa,p.id_pelanggan,p.nama_pelanggan FROM dvd d, pelanggan p WHERE d.id_sewa=p.id_sewa;
Output : View ini digunakan untuk menampilkan dvd yang tersewa
2. Macam - macam join :
-Equijoin
-Non Equijoin
-Outer Join
- Self Join
-Inner Join
-Left Join
-Right Join
-Union
EQUIJOIN
Adalah hubungan antara tabel yang meliputi komplemen primary dan foreign key.
Contoh :
SELECT emp.empno, emp.ename, emp.deptno, dept.deptno,dept.loc
FROM emp,dept
WHERE emp.deptno = dept.deptno
NON - EQUIJOIN
Adalah ketidak terhubungannya antara field-field dari tabel-tabel yang telah dijoin.
Contoh :
SELECT e.ename,e.sal,s.grade
FROM emp.e,salgrade s
WHERE e.sal BETWEEN s.losal AND s.hisal;
OUTER JOIN
Digunakan untuk melihat baris yang biasanya tidak ketemu dari kondisi JOIN.
Operator yang digunakan adalah tanda plus ( + )
Syntax :
SELECT table1.column,table2.column
FROM table1,table2
WHERE table1.column(+) = table2.column;
SELECT table1.column,table2.column
FROM table1,table2
WHERE table1.column = table2.column(+);
SELF JOIN
Digunakan untuk mencari isi dari suatu field
Contoh :
SELECT worker.ename ||works for||manager.ename
FROM emp.worker,emp.manager
WHERE worker.mgr = manager.empno;
Contoh Tabel ;
INNER JOIN
Adalah operasi bergabung paling umum digunakan dalm aplikasi dan dapat dianggap sebagai default bergabung-type. Inner bergabung membuat sebuah table baru dengan menggabungkan hasil nilai kolom dari dua table (A dan B) didasarkan pada join predikat. Dengan INNER JOIN hanya akan ditampilkan baris-baris yang satu sama lain memiliki kecocokan. Contoh:
SELECT a.nama, b.symptom
FROM pasien a
INNER JOIN symptom b
LEFT JOIN
Adalah kembali kata kunci semua baris dari table kiri (table_name1), bahkan jika tidak ada pertandingan di table kanan (table_name2). Sebuah query dengan LEFT JOIN akan menampilkan semua baris dari tabel sebelah kiri (pertama/utama atau pasien) dengan gabungan dari tabel sebelah kanan (kedua atau symptom). Contoh:
SELECT a.nama, b.symptom
FROM pasien a
LEFT JOIN symptom b ON b.id = a.id;
Perbedaannya dengan INNER JOIN ialah, pada LEFT JOIN - seluruh baris dari tabel pertama akan ditampilkan meskipun tidak ada kecocokan baris pada tabel kedua. Lihat contoh diatas, pasien Doel tidak memiliki data symptom sehingga tertampil NULL (NULL disini menyatakan bahwa tidak ada data pada kolom tersebut). Selain itu, posisi tabel jadi mempunyai makna, yaitu tabel kiri atau pertama (ialah tabel sebelum 'LEFT JOIN') akan menjadi tabel utama yang diquery terlebih dahulu, baru kemudian dicarikan kecocokannya dengan tabel kanan atau kedua (ialah tabel setelah 'LEFT JOIN').
RIGHT JOIN
Kanan Join mengembalikan kata kunci semua baris dari table kanan (table_name2), bahkan jika tidak ada pertandingan di table kiri (table_name1).
Query RIGHT JOIN hampir sama dengan LEFT JOIN, hanya saja posisinya terbalik, yaitu akan menampilkan semua baris dari tabel kanan (kedua) meskipun tidak ada kecocokan pada tabel kiri (pertama). Contoh:
UNION
Operator Union digunakan untuk menggabungkan hasil set dari dua atau lebih pernyataan SELECT. Perhatikan bahwa setiap pernyataan SELECT dalam union harus memiliki jumlah kolom yang sama. Kolom juga harus memiliki jenis data yang sama. Juga, kolom dalam setiap pernyataan SELECT harus dalam urutan yang sama.
STRAIGHT JOIN
Penggunaan relasi STRAIGHT JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record adalah hasil kali jumlah record table pertama dengan jumlah record tapi. select*from [Tabel_1] straight join [Tabel_2];
CROSS JOIN
Cross Join merupakan bentuk penggabungan yang paling sederhana, tanpa ada kondisi. Penggunaan relasi CROSS JOIN sama dengan STRAIGHT JOIN yaitu untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record adalah hasil kali jumlah record table pertama dengan jumlah record tapi kedua seperti pada gambar di bawah. SELECT field1,field2 FROM Tabel1 CROSS JOIN tabel2;
FULL 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. select*from [Tabel_1] full join [Tabel_2] using([field yang berelasi]);
Tidak ada komentar:
Posting Komentar