Kategoriler Tablosu
CREATE TABLE Kategoriler ( kategori_ID INT PRIMARY KEY NOT NULL IDENTITY(1,1), kategori_adi VARCHAR(100) )
Kategoriler tablosu oluştu. Birkaç kayıt ekleyelim.
Kategoriler Tablosu Verileri
INSERT INTO Kategoriler (kategori_adi) VALUES ('Televizyon'), ('Müzik Seti'), ('Laptop'), ('Fritöz'), ('Monitör')
Şimdi de ürünler tablosunu oluşturalım.
Ürünler Tablosu
CREATE TABLE Urunler ( urun_ID INT PRIMARY KEY NOT NULL IDENTITY(1,1), kategori_ID INT, urun_adi VARCHAR(100), fiyat float, CONSTRAINT FK_Urunler_kategori_ID FOREIGN KEY (kategori_ID) REFERENCES Kategoriler(kategori_ID) )
Ürünler tablosu oluştu. Birkaç kayıt ekleyelim.
Ürünler Tablosu Verileri
INSERT INTO Urunler (kategori_ID, urun_adi, fiyat) VALUES (1, 'LG TV32-A', 3000), (1, 'Panasonic TV33-B', 3200), (1, 'Toshiba TV45-RR', 3700), (2, 'Pioneer HIFI-5', 5000), (2, 'Sony MHT-46', 6300), (2, 'Sharp HY4W', 5100), (2, 'Yamaha YMH2', 7300), (3, 'ASUS LPT-2', 11000), (3, 'LENOVO LNV11', 14000), (3, 'MSI KTN1', 19000), (4, 'Philips FRT1', 3300), (4, 'Xiaomi FRTA', 3800), (4, 'Electrolux EAT', 3200), (5, 'Acer MNT1', 1450), (5, 'AOC MNTR', 1510), (5, 'SAMSUNG 44MNTR', 2100)
Tablolar ve içerisindeki verileri hazırladık. Şimdi tabloları görüntüleyelim.
Kategoriler ve Ürünler Tablosu
Her kategoriye ait fiyatı en yüksek ilk ürünü getirelim
SQL SorgusuSELECT K.kategori_ID, K.kategori_adi, U.urun_adi, U.fiyat FROM Kategoriler AS K CROSS APPLY ( SELECT TOP 1 * FROM Urunler WHERE kategori_ID = K.kategori_ID ORDER BY fiyat DESC ) AS U
SQL Sorgu Sonucu
Her kategoriye ait fiyatı en yüksek 2 ürünü getirelim
SQL SorgusuSELECT K.kategori_ID, K.kategori_adi, U.urun_adi, U.fiyat FROM Kategoriler AS K CROSS APPLY ( SELECT TOP 2 * FROM Urunler WHERE kategori_ID = K.kategori_ID ORDER BY fiyat DESC ) AS U
SQL Sorgu Sonucu
Her kategoriye ait fiyatı en yüksek ve en düşük 2 ürünü getirelim
SQL SorgusuSELECT K.kategori_ID, K.kategori_adi, U.urun_adi, U.fiyat, U.bilgi FROM Kategoriler AS K CROSS APPLY ( SELECT TOP 1 *, 'Fiyat Yüksek Olan' bilgi FROM Urunler WHERE kategori_ID = K.kategori_ID ORDER BY fiyat DESC UNION ALL SELECT TOP 1 *, 'Fiyat Düşük Olan' bilgi FROM Urunler WHERE kategori_ID = K.kategori_ID ORDER BY fiyat ASC ) AS U
Sorgu sonucunda her kategorideki en düşük ve en yüksek fiyatlı ürünleri görüntülemiş olacağız.