VIEW (Tampilan) SQL

View adalah tabel yang dapat dilihat.

Bab ini menjelaskan bagaimana untuk membuat, memperbarui, dan menghapus view.

Pernyataan SQL CREATE VIEW

Apa itu view?

Dalam SQL, view adalah tampilan yang berdasarkan hasil set result dari pernyataan SQL.

View berisi baris dan kolom, seperti tabel yang sebenarnya. Field di dalam view adalah field dari tabel yang sebenarnya dari satu atau beberapa database. Kami dapat menambahkan fungsi SQL, WHERE, dan JOIN statement ke view, dan kami juga dapat menyampaikan data, seperti jika datanya berasal dari tabel tunggal.

Keterangan:Desain dan struktur database tidak akan terpengaruh oleh fungsi, where, atau join statement di dalam view.

Syarat SQL CREATE VIEW

CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

Keterangan:View selalu menampilkan data terbaru. Setiap kali pengguna mencari view, mesin database akan merekonstruksi data menggunakan pernyataan SQL.

Contoh SQL CREATE VIEW

View dapat digunakan dari dalam query, dalam prosedur stored, atau dari dalam view lain. Dengan menambahkan fungsi, join, dan lainnya ke view, kami dapat menyerahkan data yang diinginkan kepada pengguna.

Database contoh Northwind memiliki beberapa view yang diinstal secara default. View "Current Product List" akan menampilkan semua produk yang digunakan dari tabel Products. View ini dibuat menggunakan SQL berikut:

CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No

Kami dapat mencari view di atas:

SELECT * FROM [Current Product List]

View lainnya dari database contoh Northwind akan memilih semua produk dengan harga satuan di atas rata-rata di tabel Products:

CREATE VIEW [Products Above Average Price] AS
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products) 

Kami dapat melakukan query seperti ini untuk tampilan yang di atas:

SELECT * FROM [Products Above Average Price]

Sebuah contoh instance view dari database Northwind lainnya akan menghitung total penjualan untuk setiap jenis di tahun 1997. Perhatikan bahwa view ini akan mengambil data dari view lain yang dinamai "Product Sales for 1997":

CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY CategoryName 

Kami dapat melakukan query seperti ini untuk tampilan yang di atas:

SELECT * FROM [Category Sales For 1997]

Kami juga dapat menambahkan kondisi ke query. Sekarang, kami hanya ingin melihat penjualan total kategori "Beverages":

SELECT * FROM [Category Sales For 1997]
WHERE CategoryName='Beverages'

Memperbarui Tampilan SQL

Anda dapat memperbarui tampilan menggunakan sintaks berikut:

Sintaks SQL CREATE OR REPLACE VIEW
CREATE OR REPLACE VIEW view_name AS
SELECT nama_kolom(s)
FROM nama_tabel
WHERE kondisi

Sekarang, kami ingin menambahkan kolom "Category" ke tampilan "Current Product List". Kami akan memperbarui tampilan dengan SQL berikut:

CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No

Menghapus Tampilan SQL

Anda dapat menghapus tampilan menggunakan perintah DROP VIEW.

Sintaks DROP VIEW SQL

DROP VIEW view_name