Veri Tabanı (SQL) Dersi Çalışma Soruları ve Cevapları

vtcalisma
Yukarıdaki veri tabanında öğrencilerin temel bilgileri, okudukları bölüm ve aldıkları dersleri gösteren tablolar bulunmaktadır.
Aşağıdaki sorulara bu veri tabanını esas alarak cevap veriniz.
1.Hiç ders almayan öğrencilerin listesini verecek sql komutunu yazınız.

SELECT * FROM OGRENCI WHERE OGR_NO NOT IN (SELECT OGR_NO FROM OGRENCI_DERS)

2.Öğrencilerin ad, soyad bilgilerini ve aldıkları derslerin adlarını veren sql komutlarını yazınız.

SELECT OGRENCI.AD, OGRENCI.SOYAD, OGRENCI_DERS.DERSAD FROM OGRENCI INNER JOIN OGRENCI_DERS ON OGRENCI.OGR_NO = OGRENCI_DERS.OGR_NO

3.Öğrencilerin bir bölümü bitirebilmeleri için en az 150 kredilik ders almaları gerekmektedir. Mezun olabilecek öğrencilerin öğrenci numarasını, adını, soyadını ve aldıkları derslerin toplam kredisini gösteren sql komutunu yazınız.

SELECT OGRENCI.OGR_NO, OGRENCI.AD, OGRENCI.SOYAD, SUM(OGRENCI_DERS.KREDI) FROM OGRENCI INNER JOIN OGRENCI_DERS ON OGRENCI.OGR_NO = OGRENCI_DERS.OGR_NO WHERE SUM(OGRENCI_DERS.KREDI) >= 150

4.Her bölümde okuyan toplam öğrenci sayısını veren sql komutunu yazınız. (Bölüm adı ve öğrenci sayısı listelenecektir.)

SELECT BOLUM.AD, COUNT(*) AS [ÖĞRENCİ SAYISI] FROM OGRENCI INNER JOIN BOLUM ON OGRENCI.BOLUM_KOD = BOLUM.KOD GROUP BY BOLUM.AD

5.”bozok.edu.tr” uzantılı mail adresi kullanan öğrencileri listeleyen sql komutunu yazınız.

SELECT * FROM OGRENCI WHERE MAIL LIKE "*bozok.edu.tr"

6.Bilgisayar bölümünde okuyan öğrencilerin aldıkları derslerin adını, dersin haftalık saatini (bir dersin haftalık ders saati teorik ve uygulamanın toplamıdır), kredisini gösteren sql komutunu yazınız. (Her bir ders yalnızca bir kere tekrarlanacaktır.)

SELECT DERSAD, (TEORIK + UYGULAMA) AS [DERS SAATİ] , KREDI FROM OGRENCI_DERS WHERE BOLUM_KOD = 1 (BURADA BİLGİSAYAR BÖLÜMÜNÜN KODU GİRİLMESİ GEREKİR) GROUP BY DERSAD, (TEORIK + UYGULAMA)  , KREDI

7.Her bölümde okutulan toplam ders sayısını veren sql komutunu yazınız.(Bölümün adı ve toplam ders sayısı listelenecektir)

SELECT BOLUM.AD, COUNT(*) FROM BOLUM INNER JOIN OGRENCI_DERS ON BOLUM.KOD = OGRENCI_DERS.BOLUM_KOD GROUP BY BOLUM.AD

8.3. (üçüncü) dönemde okutulan derslerin yalnızca adını sıralayan sql komutunu yazınız. (Her bir ders yalnızca bir kere tekrar edecektir)

SELECT DISTINCT BOLUM.AD FROM BOLUM INNER JOIN OGRENCI_DERS ON BOLUM.KOD = OGRENCI_DERS.BOLUM_KOD WHERE OGRENCI_DERS.DONEM = 3
  • Ron

    Merhaba, resimdeki tablonun sql formatında kodu var mı acaba. 3. soruda misuse of aggregate: SUM() hatası alıyorum.

  • DERYA

    MERHABA,
    elimde bir sql tablosu var. SMBSTKKOD kısmında aynı koddan 4 tane var ve karsılıgında SMBMUHKOD1 kısmında da 4 farklı içerik var. yanı SMBSTKKOD kısmı aynı fakat karsılıkları farklı. ben bunları SMBSTKKOD bir tane olacak sekilde aynı excelde oldugu gibi karısında SMBMUHKOD1 kısımlarını yan yana geitrip excel e aktarabilir miyim. i

    15301 A003 153 01 031
    15301 A003 153 01 031
    15301 A003 600 53 031

    eski gali bu
    15301 A003 153 01 031 153 01 031 600 53 031
    yeni hali de böyle olacak sekilde

    teşekkürler

  • gurbet

    bir tablo verildi bana ve 6 tane soru ona göre c vplanacak yardımcı olurmusunuz veri tabanı dersinden cvp bekliyorum tsk ler şimdiden

    • BilisimOgretmeni

      elimizden gelen bir şey ise yardımcı olalım tablo ve soruları gönderin bakalım

Pin It on Pinterest