SQL VIEW (Görünüm)

Görünüm, görselleştirilmiş bir tablodur.

Bu bölüm, görünümün oluşturulması, güncellenmesi ve silinmesini nasıl öğretir.

SQL CREATE VIEW cümlesi

Görünüm nedir?

SQL'de, görünüm, SQL cümlesinin sonuç kümesi üzerine oluşturulan görsel bir tablodır.

Görünüm satırları ve sütunları içerir, gerçek bir tablo gibi. Görünümdeki alanlar, bir veya daha fazla veritabanından gerçek bir tablodan alanlardır. SQL fonksiyonları, WHERE ve JOIN cümleleri ekleyebilir, veri gönderebilir ve bu verileri tek bir tablodan gelen gibi sunabiliriz.

Yorum:Veritabanı tasarımı ve yapısı, görünümdeki fonksiyonlar, where veya join cümleleri tarafından etkilenmez.

SQL CREATE VIEW grameri

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

Yorum:Görünümler her zaman en son verileri gösterir. Kullanıcılar görünümü sorguladığında, veritabanı motoru SQL cümlesi kullanarak verileri yeniden oluşturur.

SQL CREATE VIEW örnek

Görünümü bir sorgu içinde, bir saklı prosedür içinde veya başka bir görünüm içinde kullanabiliriz. Görünümümüze fonksiyonlar, join gibi ekleyerek kullanıcıya istediğimiz verileri kesin olarak sunabiliriz.

Northwind örnek veritabanı, varsayılan olarak yüklü bazı görünüm içerir. "Current Product List" görünümü, Products tablosunda tüm kullanılmakta olan ürünleri listeler. Bu görünüm aşağıdaki SQL ile oluşturulur:

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

Yukarıdaki görünümü sorgulayabiliriz:

SELECT * FROM [Current Product List]

Northwind örnek veritabanının başka bir görünümü, Products tablosunda tüm birim fiyatı ortalama birim fiyatın üzerinde olan ürünleri seçer:

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

Yukarıdaki görünümü şu şekilde sorgulayabiliriz:

SELECT * FROM [Products Above Average Price]

Northwind veritabanı kaynaklı başka bir görünüm örnek, 1997 yılında her türün satış toplamını hesaplar. Lütfen dikkat edin, bu görünüm "Product Sales for 1997" adlı başka bir görünümden veri alacaktır:

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

Yukarıdaki görünümü şu şekilde sorgulayabiliriz:

SELECT * FROM [Category Sales For 1997]

Ayrıca sorguya şart ekleyebiliriz. Şu anda, "Beverages" sınıfının tüm satışlarını görmek istiyoruz:

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

SQL Görünümü Güncelleme

Görünümü güncellemek için aşağıdaki grameri kullanabilirsiniz:

SQL CREATE OR REPLACE VIEW grameri
CREATE OR REPLACE VIEW view_name AS
SELECT sütun_adi(s)
FROM tablo_adi
WHERE şartı

Şu anda, "Current Product List" görünümüne "Category" sütununu eklemek istiyoruz. Görünümü güncellemek için aşağıdaki SQL komutunu kullanacağız:

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

SQL Görünümü İptal

DROP VIEW komutunu kullanarak görünümü silebilirsiniz.

SQL DROP VIEW grameri

DROP VIEW view_name