Bu hafta SQL sorguları üzerine çalışıyorsunuz. Bugünkü alıştırmada sizin için hazırladığımız veritabanında aşağıda istediğimiz sonuçları elde etmenize yarayan SQL sorgularını oluşturacaksınız.
Projeyi forklayın ve clonlayın. Tamamladığınızda da pushlayın.
Bu veritabanı, bir okulun kütüphanesinden öğrencilerin aldıkları kitapların bilgisini barındırmaktadır.
- src -> main -> resources altında
test.sqladında bir doya bulacaksınız. test.sqldosyasını projeye başlamadan önce kendi veritabanınızda MUTLAKA ÇALIŞTIRMALISINIZ.application.propertiesdosyasındaspring.datasource.usernamekarşısına veritabanını bağlanmak için kullandığınız kullanıcı ismini MUTLAKA GİRİNİZ.application.propertiesdosyasındaspring.datasource.passwordkarşısına veritabanını bağlanmak için kullandığınız şifreyi MUTLAKA GİRİNİZ.
#Tablolar
ogrenci tablosu öğrencilerin listesini tutar.
islem tablosu öğrencilerin kütüphaneden aldıkları kitapların bilgilerini tutar
kitap tablosu kütüphanedeki kitapların bilgisini tutar
yazar tablosu kitapların yazarları bilgisini tutar
tur tablosu kitapların türlerini tutar.
Tablo ilişiklerini görmek için [ktphn.png] dosyasına göz atın.
Yazdığınız sorguları buradan test edebilirsiniz: [https://ergineer.com/assets/materials/fkg36so5-kutuphanebilgisistemi-sql/] (update, delete, drop sorguları iptal edilmiştir).
Aşağıda istenilen sonuçlara ulaşabilmek için gerekli SQL sorgularını yazmaya çalışacağız.
İlgili sqlleri OgrenciRepository ve KitapRepository sınıfı altında tanımlanan QUESTION stringlerinin karşısına yazınız.
-
- soru için sql sonucunu
OgrenciRepositorysınıfının içerisindekiQUESTION_1stringinin içerisine yazınız.
-
Dram ve Hikaye türündeki kitapları listeleyin. JOIN kullanmadan yapın.
-
Kitap alan öğrencilerin öğrenci bilgilerini listeleyin.
-
Kitap almayan öğrencileri listeleyin.
-
10A veya 10B sınıfındaki öğrencilerin sınıf ve okuduğu kitap sayısını getirin. Büyükten küçüğe sıralayın.
-
Öğrenci tablosundaki öğrenci sayısını gösterin
-
Öğrenci tablosunda kaç farklı isimde öğrenci olduğunu listeleyiniz.
-
İsme göre öğrenci sayılarının adedini bulunuz.
-
Her sınıftaki öğrenci sayısını bulunuz.
-
Her öğrencinin ad soyad karşılığında okuduğu kitap sayısını getiriniz.
-
Tüm kitapların ortalama puanını bulunuz.
- soru için sql sonucunu
Eğer testleri çalıştırdığın halde skorun NextGen'e kaydedilmediyse, önce fork'unun güncel olup olmadığını kontrol et:
- GitHub reponu aç.
- Repo X commit ahead ve X commits behind şeklinde bir uyarı gösteriyorsa, branch'in güncel değildir.
- Sync fork → Update branch adımlarını uygula.
- Ardından localinde şu komutu çalıştır:
git pull- Testleri tekrar çalıştır. Bu adımdan sonra skorun güncellenmiş olacaktır.
Not: Bu kontrolü yapmadan tekrar tekrar test çalıştırmak sorunu çözmez; sorunun kaynağı genellikle fork'un upstream repository ile senkron olmamasıdır.