Şimdi ise View kullanımını biraz daha detaylandıracağız.
Ürünler ve Kategoriler tablosu oluşturup örneklendirmeyi bunun üzerinden yapalım.
Kategoriler Tablosu Oluşturalım
Kategoriler TablosuCREATE TABLE Kategoriler ( id INT PRIMARY KEY NOT NULL IDENTITY(1,1), ad VARCHAR(50) ) INSERT INTO Kategoriler (ad) VALUES ('Televizyon'), ('Çamaşır Makinesi'), ('Bulaşık Makinesi'), ('Bilgisayar')
Kategoriler tablosu ve içerisindeki verileri oluşturduk.
Kategoriler Tablosu Sonuç
Kategoriler tablosundan sonra da Ürünler tablosunu oluşturalım.
Ürünler Tablosu Oluşturalım
Ürünler TablosuCREATE TABLE Urunler ( id INT PRIMARY KEY NOT NULL IDENTITY(1,1), kategori_id INT, ad VARCHAR(50), fiyat decimal, stok INT, kayit_tarihi DATE, CONSTRAINT FK_Urunler_kategori_id FOREIGN KEY (kategori_id) REFERENCES Kategoriler (id) ) INSERT INTO Urunler (kategori_id, ad, fiyat, stok, kayit_tarihi) VALUES (1, 'LG Oled 53', 6500, 500, '2022-02-03'), (1, 'Samsung Plazma 42', 5700, 670, '2021-01-01'), (4, 'Asus Notebook 16', 1800, 203, '2024-11-21'), (3, 'Bosh Bulaşık Makinesi 400', 4600, 900, '2020-06-13')
Ürünler tablosu ve içerisindeki verileri oluşturduk.
Ürünler Tablosu Sonuç
Kategoriler Tablosuna Ait View Oluşturalım
Şimdi ise birkaç tane View oluşturalım.Kategorilere Ait View
CREATE VIEW vwKategoriler AS SELECT * FROM Kategoriler
Kategori adında Makine bulunan kategorileri view içerisinde filtreleyelim.
Kategorilere Ait View Kullanımı
SELECT * FROM vwKategoriler WHERE ad LIKE '%Makine%'
Kategorilere Ait View Sonuç
Ürünler Tablosuna Ait View Oluşturalım
Ürünler ait view oluşturup kullanmaya başlayalım.Ürünler Ait View
CREATE VIEW vwUrunler AS SELECT * FROM Urunler
Ürün stok adedi 300'den fazla ve fiyatı 5000'i geçen ürünleri view içerisinde filtreleyelim.
Ürünlere Ait View Kullanımı
SELECT * FROM vwUrunler WHERE stok > 300 AND fiyat < 5000
Ürünlere Ait View Sonuç
Kategori ve Ürünlere Ait View Oluşturalım
Burada ise iki tablonun kesişiminden oluşan (join) bir view oluşturup örnekleri ile birlikte kullanımını yapalım.Kategori ve Ürünlere Ait View
CREATE VIEW vwKategorilerVeUrunler AS SELECT A.id kategori_id, A.ad kategori_ad, B.id urun_id, B.ad urun_ad, B.fiyat, B.stok, B.kayit_tarihi FROM Kategoriler A INNER JOIN Urunler B ON A.id = B.kategori_id
kategori_ad ve urun_ad sütununda "A" harfi içeren ve kayit_tarihi sütunu ise 2019-01-01 tarihinden büyük olan ürünleri getirelim.
Ürünlere Ait View Kullanımı
SELECT * FROM vwKategorilerVeUrunler WHERE kategori_ad LIKE '%A%' AND urun_ad LIKE '%A%' AND kayit_tarihi > '2019-01-01'
Sorgumuzu çalıştırdığımızda View içerisinde filtre (Where) deyimlerini kullanabilmekteyiz.