Soruları Aşağıdaki Tabloya göre cevaplayınız.
1.KategoriId ve o kategorideki kitap sayısını veren SQL cümlesini yazınız.
2.Kategorisi bilgisayar olan fakat yazarı Memik Yanık olmayan kitapları listeleyen SQL cümlesini yazınız.
3.Kitaplara ait yazar adı, kitap adı ve sayfa sayısını listeleyen SQL cümlesini yazınız.
4.Kitaplara ait yazar adı, kategori adı ve kitap adını listeleyen SQL cümlesini yazınız.
5.Yazılan toplam sayfa sayısını listeleyen SQL cümlesini yazınız.
6.Veritabanı kategorisindeki kitapları silen SQL cümlesini yazınız.
7.C# kategorisindeki kitapların fiyatlarını %50 artıran SQL cümlesini yazınız.
8.Memik Yanık isimli yazarın yazmış olduğu kitapların kategori adların listeleyen SQL cümlesini yazınız.
9.Kitapları pahalıdan ucuza sıralayan SQL cümlesini yazınız.
Yazarlar | Kategoriler | Kitaplar |
YazarId | KategoriId | KitapId |
YazarAdi | KategoriAdi | KitapAdi |
YazarId | ||
KategoriId | ||
SayfaSayisi | ||
Fiyat |
Cevaplar
1.
SELECT KategoriId, COUNT(*) FROM Kitaplar GROUP BY KategoriId
2.
SELECT * FROM Kitaplar WHERE KategoriId IN (SELECT KategoriId FROM Kategoriler WHERE KategoriAdi ='Bilgisayar') AND YazarId IN (SELECT YazarId FROM Yazarlar WHERE YazarAdi <>'Memik Yanık')
3.
SELECT y.YazarAdi, k.KitapAdi, k.SayfaSayisi FROM Yazarlar y, Kitaplar k WHERE y.YazarId = k.YazarId
4.
SELECT y.YazarAdi, k.KitapAdi, kt.KategoriAdi FROM Yazarlar y, Kitaplar k, Kategoriler kt WHERE y.YazarId = k.YazarId AND k.KategoriId = kt.KategoriId
5.
SELECT SUM(SayfaSayisi) FROM Kitaplar
6.
DELETE FROM Kitaplar WHERE KategoriId IN (SELECT KategoriId FROM Kategoriler WHERE KategoriAdi = 'Veritabanı')
7.
UPDATE Kitaplar SET Fiyat = Fiyat * 1.5 WHERE KategoriId IN (SELECT kategoriId FROM Kategoriler WHERE KategoriAdi ='C#')
8.
SELECT KategoriAdi FROM Kategoriler WHERE KategoriId IN (SELECT KategoriId FROM Kitaplar WHERE YazarId IN (SELECT YazarId FROM Yazarlar WHERE YazarAdi = 'Memik Yanık'))
9.
SELECT * FROM Kitaplar ORDER BY Fiyat DESC