Bu sayfa bir sorgu arama sihirbazıdır. Ayrıca çok sayıda sql sorgu örnekleri içermektedir. Sorgunuzda bulunmasını istediğiniz ifadeleri yukarıdaki arama panelinden işaretleyerek arama yapabilirsiniz. İki türlü arama mevcut isterseniz sadece seçtiğiniz ifadeler yer alır. İsterseniz seçtiğiniz ifadeler mutlaka yer almak üzere diğer sql ifadeleri de sorgunuzda bulunabilir. Sorguların cevapları kütüphane veritabanında çözüldü. Diyagmı sol alt köşeden tıklayarak inceleyebilirsiniz.1600 kitap 500 den fazla yazardan oluşan Tamamen Türkçe kütüphane veritabanını bu linke tıklayarak indirebilirsiniz.

SQL Alt Sorgu Örnekleri

1-) Sayfasayısı en fazla olan kitabı listeleyiniz.

Çözüm 1)

Select top 1 * from kitap 
       order by sayfaSayisi desc

Çözüm 2)

Select * from kitap 
     where sayafaSayisi=(Select max(sayfaSayisi) from kitap)


ETİKETLER

Select - Top - Where - Order By - Alt Sorgu - Toplam Fonksiyonları -
2-) 10A sınıfından Yahya Kemal isimli yazarın kitabını okuyan öğrenciler

Çözüm 1)

Select distinct ogrenci.* from ogrenci 
join islem on ogrenci.ogrno = islem.ogrno
join kitap on kitap.kitapno = islem.kitapno
join yazar on yazar.yazarno = kitap.yazarno  
where yazar.ad = 'Yahya' and yazar.soyad = 'Kemal' and sinif = '10A'

Çözüm 2)

Select distinct ogrenci.* 
from ogrenci, islem, kitap, yazar
where ogrenci.ogrno = islem.ogrno and 
      kitap.kitapno = islem.kitapno and 
	  yazar.yazarno = kitap.yazarno and 
	  yazar.ad = 'Yahya' and yazar.soyad = 'Kemal' and 
	  sinif = '10A'


ETİKETLER

Select - Join - Where - Çoklu Şart - Alt Sorgu - Çoklu Tablo -
3-) En son kitap alan öğrencinin bilgilerini listeleyiniz.

Çözüm 1)

Select top 1 ogrenci.*,atarih
from ogrenci,islem 
where ogrenci.ogrno = islem.ogrno 
order by islem.atarih desc

Çözüm 2)

Select top 1 ogrenci.*,atarih
from ogrenci 
join islem on ogrenci.ogrno = islem.ogrno 
order by islem.atarih desc

Çözüm 3)

Select ogrenci.*,atarih
from ogrenci 
join islem on ogrenci.ogrno = islem.ogrno 
where atarih = (Select max(atarih) from islem)


ETİKETLER

Select - Top - Join - Where - Order By - Alt Sorgu - Çoklu Tablo -
4-) Öğrencilerin adını soyadını ve okudukları kitap sayısını listeleyiniz. Kitap okumayan öğrencilerde listelensin.(Okuduğu kitap sayısı 0 (sıfır) olarak)

Çözüm 1)

Select ad,soyad,count(islemno) KitapSayısı
from ogrenci
left join islem on ogrenci.ogrno = islem.ogrno 
group by ogrenci.ogrno,ad,soyad
order by BookCount

Çözüm 2)

Select ad, soyad, 
	(Select count(*) from islem 
		where ogrenci.ogrno = islem.ogrno) as KitapSayısı
from ogrenci 
order by KitapSayısı


ETİKETLER

Select - Top - Where - Having - Alt Sorgu -
5-) Kitap okumayan öğrencileri listeleyiniz

Çözüm 1)

Select ogrenci.* from ogrenci 
left join islem on ogrenci.ogrno = islem.ogrno 
where islemno is null

Çözüm 2)

Select * from ogrenci 
where ogrno not in 
	(Select ogrno from islem)


ETİKETLER

Select - Where - Alt Sorgu - Çoklu Tablo - Left Join -
6-) Hiç okunmamış olan kitapları listeleyiniz

Çözüm 1)

Select kitap.* from kitap 
left join islem on kitap.kitapno = islem.kitapno 
where islemno is null

Çözüm 2)

Select * from kitap 
where kitapno not in 
	(Select kitapno from islem)


ETİKETLER

Select - Where - Alt Sorgu - Çoklu Tablo - Left Join -
7-) Kitap okumayan öğrencileri siliniz.

Çözüm 1)

Delete from ogrenci 
where ogrno not in 
	(Select ogrno from islem)


ETİKETLER

Delete - Where - Alt Sorgu -
8-) Okuduğu kitap sayısı 5 ten az olan öğrencileri siliniz.

Çözüm 1)

Delete from ogrenci 
where ogrno in (Select ogrno from islem 
                group by ogrno 
				having count(*)<5)


ETİKETLER

Delete - Where - Group By - Having - Alt Sorgu -
9-) Sayfasayısı en fazla oaln kitapbın puanını 10 arttırın

Çözüm 1)

Update kitap set puan +=10 
       where sayfasayisi =  (Select MAX(sayfasayisi) from kitap)


ETİKETLER

Update - Where - Alt Sorgu - Toplam Fonksiyonları -
10-) Dram türündeki kitapların puanını 1 arttıran sorguyu yazınız.

Çözüm 1)

Update kitap set puan += 1 
       where turno = (Select turno from kitap where ad = 'Dram')

Çözüm 2)

Update kitap set puan += 1 
       where turno in (Select turno from kitap where ad = 'Dram')


ETİKETLER

Update - Where - Alt Sorgu -
Kütüphane Veritabanı
Database