ms sql server etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster


Son blog yazımdan bu yana yaklaşık 15 gün geçmiş. Ama bana epey uzun geldi blog yazmadığım süre. Her neyse MS SQL Veritabanı Örnek Soru Çözümleri-1' in devamı, MS SQL örnek soruları ve çözümleri ile tekrar karşınızdayız :) Belki bütünlemeleri hala devam eden öğrenci arkadaşlarımız vardır ve lazım olur.

1) Ogrenci (Ad, Soyad, No)
    Ders (Ad, No)
    Notlar (Ogr_no, Ders_no, Not)

Yukarıdaki tablolara göre öğrenci numarası 101 olan öğrencinin adını, soyadını ve matematik dersinden aldığı notu gösteren sorguyu yazınız.
SELECT Ogr.Ad, Ogr.Soyad, Not FROM Ogrenci AS Ogr, Ders As Der, Notlar
WHERE Ogr.No IN
(SELECT Not.Ogr_No FROM Ders AS Der, Notlar AS Not
WHERE Der.No=Not.Ders_no);

2) Matematik notu 75 ile 100 arasında olan öğrencilerim tüm bilgilerini notları yüksek olan öğrenciden düşük olan öğrenciye doğru listeleyen SQL sorgusunu yazınız.
SELECT * FROM Ogrenci
WHERE FinalNotu BETWEEN 75 AND 100
ORDER BY FinalNotu DESC;

3) Personel isimli tablodan görevi ŞEF ve MÜDÜR olanları Yöneticiler adında yeni bir tabloya ekleyen SQL sorgusunu yazınız.
SELECT * INTO Yoneticiler FROM Personel
WHERE Gorev='ŞEF' AND Gorev='MÜDÜR';

4) Tablodan 101 numaralı öğrencinin bilgilerini silen SQL sorgusunu yazınız.
DELETE FROM Ogrenci
WHERE Ogrenci.No=101;

5) Öğrenci tablosunu silen SQL sorgusunu yazınız.
DROP TABLE Ogrenci;

6) Ad, Soyad bilgisi boş bırakılamayan, okul numarası her öğrenci için tek olan, şehir bilgisi olan öğrenci tablosunu SQL sorgusu ile yazınız.
CREATE TABLE Ogrenci (
Ad VARCHAR(50) NOT NULL,
Soyad VARCHAR(50) NOT NULL,
OgrNo INTEGER UNİQUE,
Sehir VARCHAR(50),
);


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)
    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 da
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)
    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)
    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.
INSERT INTO Ogrenci (Ad, Soyad, No)
VALUES ('Ali','CAN',10);
Copyright © 2014