Uzun bir aradan sonra günlerdir bloğuma ne yazsam ne yazsam diye düşünüyordum. Finallerden yeni çıkan benim gibi bir öğrenciden de bekleneceği üzere henüz bütlerde başlamamışken bir kaç örnek soru ve çözümlerini sizlerle paylaşmak istedim :) Bunlar örnek soruların ilk kısmı ilerleyen günlerde MS SQL ile ilgili daha pek çok örneğe değiniyor olacağım. Aynı sorulara farklı çözüm önerileriniz varsa sizleri yorumlara bekleriz ;)
1) Kitaplar tablosuna göre fiyatı bilgisayar konusunda yazılan en fazla fiyata sahip kitaptan az olan kitapların konu ve fiyatlarını listeleyen SQL ifadesini yazalım.
SELECT Konu, Fiyat FROM Kitaplar
WHERE Fiyat<
(SELECT MAX(Fiyat) FROM Kitaplar
WHERE Konu='Bilgisayar');
2) Kitap(KitapKod, YazarKod, KitapAd)WHERE Fiyat<
(SELECT MAX(Fiyat) FROM Kitaplar
WHERE Konu='Bilgisayar');
Yazar(YazarKod, YazarAd, YazarSoyad, e-mail)
Yukarıda bölümleri verilen tablolardan KitapAd ve YazarAd bilgilerini, KitapAd alanına göre azalan bir sırada Kitap_YAZAR adında yeni bir tabloya yazan SQL sorgusunu yazalım.
SELECT KitapAd, YazarAd INTO Kitap_YAZAR FROM Kitap, Yazar
WHERE Kitap.YazarKod=Yazar.YazarKod
ORDER BY KitapAd DESC;
ya daWHERE Kitap.YazarKod=Yazar.YazarKod
ORDER BY KitapAd DESC;
SELECT KitapAd, YazarAd INTO Kitap_YAZAR FROM Kitap INNER JOIN Yazar
ON Kitap.YazarKod=Yazar.YazarKod
ORDER BY KitapAd DESC;
3) SATICI(Satici_n, AdSoyad, Sehir)ON Kitap.YazarKod=Yazar.YazarKod
ORDER BY KitapAd DESC;
SATIS(satici_n, parca_n, miktar)
Yukarıda bölümleri verilen SATICI ve SATIS Tablolarına göre 34 nolu parçayı satmayan ve Bursalı olan satıcılara ait AdSoyad bilgisini listeleyen SQL sorgusunu yazalım.
SELECT AdSoyad FROM SATICI
WHERE Satici_n=
(SELECT satici_n FROM SATIS, SATICI
WHERE parca_n<>34
AND Sehir='Bursa');
4) Kitap(KitapKod, YazarKod, KitapAd)WHERE Satici_n=
(SELECT satici_n FROM SATIS, SATICI
WHERE parca_n<>34
AND Sehir='Bursa');
Yazar(YazarKod, YazarAd, YazarSoyad, e-mail)
Calisan(CalisanKod, CalisanAd, CalisanSoyad)
KiralananKitap(KitapKod, KiraciKod, KiraTarih, CalisanKod)
Yukarıda bölümleri verilen kütüphane veri tabanından CalisanAd, KitapAd, YazarAd alanlarını listeleyen BILGI adında bir VIEW oluşturan SQL sorgusunu yazalım.
SELECT CalisanAd, KitapAd, YazarAd INTO Bilgi
FROM Kitap, Yazar, Calisan, KiralananKitap
WHERE Calisan.CalisanKod=KiralananKitap.CalisanKod
AND KiralananKitap.KitapKod=Kitap.KitapKod
AND Kitap.YazarKod=Yazar.YazarKod;
5) Ogrenci tablosuna Ali, CAN, 10 bilgilerini yazan SQL sorgusunu yazalım.
FROM Kitap, Yazar, Calisan, KiralananKitap
WHERE Calisan.CalisanKod=KiralananKitap.CalisanKod
AND KiralananKitap.KitapKod=Kitap.KitapKod
AND Kitap.YazarKod=Yazar.YazarKod;
INSERT INTO Ogrenci (Ad, Soyad, No)
VALUES ('Ali','CAN',10);
VALUES ('Ali','CAN',10);



