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;
JOIN
Cara kerja join ialah dengan mencari kecocokan kolom tertentu pada sebuah tabel dengan kolom
tertentu pada tabel lain, kemudian menampilkan hasilnya sebagai satu set data gabungan. Secara
garis besar, terdapat 3 macam join, yaitu INNER JOIN, LEFT JOIN dan RIGHT JOIN. Namun,
selain dari 3 macam tersebut, terdapat tambahan beberapa varian tergantung dari RDBMS
(Relation Database Manajemen System) yang digunakan.
Macam – macam Join :
- INNER JOIN
hanya akan ditampilkan baris baris yang satu sama lain memiliki kecocokan .
Contoh : SELECT a.Nama, b,penyakit FROM pasien a INNER JOIN penyakit b ON b.id = a.id;
+------+---------+ | Nama | Penyakit | +------+---------+ | Koni | Asma | | Huni | Mual | | Buri | Pusing | +------+---------+
- OUTER JOIN
Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data yang
NULL (kosong) di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan
pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan pemesanan
(transaksi).
- OUTER JOIN DIBAGI MENJADI 2 ,Yaitu..
LEFT JOIN dan RIGHT JOIN. Berikut ini bentuk umum dan contohnya:
Left Join
akan menampilkan semua isi tabel sisi kiri , walaupun data di pasangan joinnya yang disisi
kanan nilainya tidak sama ataupun berisi null.
Contoh : SELECT a.Nama, b.penyakit FROM pasien a LEFT JOIN penyakit b ON b.id = a.id;
+------+---------+ | Nama | Penyakit | +------+---------+ | Koni | Asma | | Huni | Mual | | Buri | Pusing | | Orui | NULL | +------+---------+
- RIGHT JOIN
ini hanya kebalikan left join , akan menampilkan semua isi tabel sisi kanan, walaupun data di
pasangan joinnya yang di sisi kiri nilainya tidak sama ataupun berisi null.
Contoh : SELECT a.Nama, b.penyakit FROM pasien a RIGHT JOIN penyakit b ON b.id = a.id;
+------+---------+ | Nama | Penyakit | +------+---------+ | Koni | Asma | | Huni | Mual | | Buri | Pusing |
+------+---------+
- FULL JOIN
akan menampilkan semua isi tabel sisi kiri walaupun data di pasangan joinnya yang disisi kanan
nilainya null atau sebaliknya
Contoh : SELECT a.Nama, b.Penyakit FROM pasien a FULL JOIN JK b on a. id = b.id;
+------+---------+ +------+----------+ | Nama | Penyakit| | Nama | JK | +------+---------+ +------+----------+ | Koni | Asma | | Koni | Laki | | Huni | Mual | | Huni | Perempuan | | Buri | Pusing | | Buri | Laki | +------+---------+ +------+----------+ Menjadi +------+---------+----------+ | Nama | Penyakit | JK | +------+--------------------+ | Koni | Asma | Laki | | Huni | Mual |Perempuan | | Buri | Pusing | Laki | +------+---------+----------+
- UNION
Penggunaan relasi UNION adalah untuk menggabung hasil dari syntak LEFT OUTER JOIN
dengan RIGHT OUTER JOIN .
select*from [Tabel_1] natural left outer join [Tabel_2]
union
select*from [Tabel_1] natural right outer join [Tabel_2];
- 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.
Tidak ada komentar:
Posting Komentar