Bu derste Access ile veritabanı sorgulama soruları ve cevaplarını bulacaksınız. Access te sorguları iki farklı şekilde oluşturmak mümkündür. Sorgulamaları hem grafik ekranda hemde SQL cümlesi şeklinde bulabilirsiniz.
Access Sorgularını gerçekleştirmek için kullanacağımız veritabanı tasarımı aşağıdadır.
Sorgu tasarımı kullanarak sorgulama için OLUŞTUR -> SORGU TASARIMI -> Sorgulama yapılacak tablolar şeklinde seçim yapıldıktan sonra aşağıdaki sorgulamaları yapıyoruz.
Sorgulamaların alt kısmında sorgu seçeneklerini taptıktan sonra TASARIMsekmesindeki ÇALIŞTIR komutu ile sorgularımızı çalıştırıyoruz.
Sorgumayı grafik ekran yerine SQL cümlesi ile yapmak için SQL görümüne geçip gerekli sql sorgusunu yazabiliriz.
Access Veritabanı Sorgu Örnekleri ve Cevapları:
Access Sorgu Örnekleri 1 : Tüm öğrencilerin adını ve soyadını listeleyen access sorgusunu oluşturun.
SQL Sorgu Cümlesi:
1 2 3 4 | SELECT ogrenci.ograd, ogrenci.ogrsoyad FROM ogrenci; |
Access Sorgu Örnekleri 2 : Adı Cemil olan öğrencilerin kayıtlarını getiren access sorgusunu oluşturun.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.* FROM ogrenci WHERE (((ogrenci.ograd)="Cemil")); |
Access Sorgu Örnekleri 3: Öğrenci numarası 15′ ten küçük olan öğrencileri listeleyen access sorgusunu oluşturun.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.* FROM ogrenci WHERE (((ogrenci.ogrno)<15)); |
Sql Sorgu Örnekleri 4: Adında “a” harfi geçen öğrencileri listeleyen sorguyu oluşturun.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.* FROM ogrenci WHERE (((ogrenci.ograd) Like "*a*")); |
Sql Sorgu Örnekleri 5 : Adının ilk harfi “a” olan erkek öğrencileri listeleyen access sorgusunu oluşturun.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.* FROM ogrenci WHERE (((ogrenci.ograd) Like "a*") AND ((ogrenci.cinsiyet)="E")); |
Sql Sorgu Örnekleri 6 : Cinsiyeti “erkek” olan ya da adının ilk harfi “a” olan kayıtları listeleyen access sorgusunu oluşturun.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.* FROM ogrenci WHERE (((ogrenci.ograd) Like "a*")) OR (((ogrenci.cinsiyet)="E")); |
Access Sorgu Örnekleri 7: 10A sınıfında cinsiyeti “Erkek” olan öğrencileri listeleyen access sorgusunu oluşturun.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.* FROM ogrenci WHERE (((ogrenci.cinsiyet)="E") AND ((ogrenci.sinif)="10A")); |
Sql Sorgu Örnekleri 8 : İsminde “a” harfi geçmeyen öğrencileri listeleyen access sorgusunu oluşturun.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.* FROM ogrenci WHERE (((ogrenci.ograd) Not Like "*a*")); |
Sql Sorgu Örnekleri 9 : 10A sınıfındaki Erkek öğrencileri ya da 10B sınıfındaki Kız öğrencileri listeleyen access sorgusunu oluşturun.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.* FROM ogrenci WHERE (((ogrenci.sinif)="10A") AND ((ogrenci.cinsiyet)="E")) OR (((ogrenci.sinif)="10B") AND ((ogrenci.cinsiyet)="K")); |
Sql Sorgu Örnekleri 10: 9A veya 9Bnin Erkek öğrencilerini listeleyiniz.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.* FROM ogrenci WHERE (((ogrenci.cinsiyet)="E") AND ((ogrenci.sinif)="9A" Or (ogrenci.sinif)="9B")); |
Sql Sorgu Örnekleri 11: Kitapları sayfa sayısına göre listeleyip, sayfa sayısı en fazla olan 20 kitabı getirin.
1 2 3 4 5 | SELECT TOP 20 kitap.* FROM kitap ORDER BY kitap.sayfasayisi DESC; |
Sql Sorgu Örnekleri 12: Numarası 3 ile biten öğrencileri listeleyin.
1 2 3 4 5 | SELECT kitap.* FROM kitap WHERE (((kitap.kitapno) Like "*3")); |
1 2 3 4 5 | SELECT ogrenci.* FROM ogrenci WHERE ((Month([dtarih])=5)); |
Sql Sorgu Örnekleri 14: Öğrencilerin adını, soyadını, doğum tarihini ve yaşını listeleyiniz.
1 2 3 4 | SELECT ogrenci.ograd, ogrenci.ogrsoyad, ogrenci.dtarih, Year(Date())-Year([dtarih]) AS Yaş FROM ogrenci; |
Sql Sorgu Örnekleri 15: Doğum günü bugün olan öğrencileri listeleyin.(Öğrenci kaydı olmayabilir. Listelemeden önce birkaç öğrencinin doğum gününü değiştirin)
1 2 3 4 5 | SELECT ogrenci.* FROM ogrenci WHERE (((Month(Date()))=Month([dtarih])) AND ((Day(Date()))=Day([dtarih]))); |
Sql Sorgu Örnekleri 16: Sayfa sayısı çift olan kitapları listeleyin.
1 2 3 4 5 | SELECT kitap.* FROM kitap WHERE (([sayfasayisi] Mod 2=0)); |
Sql Sorgu Örnekleri 17: Adının ilk harfi ile soyadının ilk harfi aynı olan öğrencileri listeleyin.
1 2 3 4 5 | SELECT ogrenci.*, ogrenci.ograd FROM ogrenci WHERE ((Left([ograd],1)=Left([ogrsoyad],1))); |
Sql Sorgu Örnekleri 18: Adının son harfi ile soyadının son harfi aynı olan öğrencileri listeleyin.(Not: Veriler SQL Serverdan çevrildiği için sabit uzunluk sorunu oluşmuştur. Trim metodu ile boşlukları temizleyip sorguyu yazabilirsiniz.)
Yöntem 1
1 2 3 4 5 | SELECT ogrenci.*, ogrenci.ograd FROM ogrenci WHERE ((Right(Trim([ograd]),1)=Right(Trim([ogrsoyad]),1))); |
Yöntem 2
1 2 3 4 5 | SELECT ogrenci.*, ogrenci.ograd FROM ogrenci WHERE ((Mid(StrReverse(Trim([ograd])),1,1)=Mid(StrReverse(Trim([ogrsoyad])),1,1))); |
Sql Sorgu Örnekleri 19: 9A sınıfı öğrencilerinin hangi tarihte kitap alıp getirdiklerini listeleyiniz.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.ogrno, ogrenci.ograd, ogrenci.ogrsoyad, ogrenci.sinif, islem.atarih, islem.vtarih, kitap.kitapadi FROM kitap INNER JOIN (ogrenci INNER JOIN islem ON ogrenci.ogrno = islem.ogrno) ON kitap.kitapno = islem.kitapno WHERE (((ogrenci.sinif)="9A")); |
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT kitap.kitapadi FROM yazar INNER JOIN kitap ON yazar.yazarno = kitap.yazarno WHERE (((yazar.yazarad)="Derya") AND ((yazar.yazarsoyad)="BALCI")); |
Sql Sorgu Örnekleri 21: Nisan ayında doğan öğrencileri bulun
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.*, ogrenci.dtarih FROM ogrenci WHERE ((Month([dtarih])=4)); |
Sql Sorgu Örnekleri 22: Nisan ayında kitap alan öğrencileri getiriniz.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.* FROM ogrenci INNER JOIN islem ON ogrenci.ogrno = islem.ogrno WHERE ((Month([atarih])=4)); |
Sql Sorgu Örnekleri 23: Doğum gününde kitap alan öğrencileri listeleyin.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.*, islem.atarih FROM ogrenci INNER JOIN islem ON ogrenci.ogrno = islem.ogrno WHERE ((Month([atarih])=Month([ogrenci].[dtarih]) And Day([atarih])=Day([ogrenci].[dtarih]))); |
Sql Sorgu Örnekleri 24: Dram türünde kitap okuyan 9A sınıfı öğrencilerini listeleyiniz.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.*, kitap.kitapadi FROM tur INNER JOIN (kitap INNER JOIN (ogrenci INNER JOIN islem ON ogrenci.ogrno = islem.ogrno) ON kitap.kitapno = islem.kitapno) ON tur.turno = kitap.turno WHERE (((ogrenci.sinif)="9A") AND ((tur.turadi)="Dram")); |
Sql Sorgu Örnekleri 25: Numarası 9,13,21,17 olan öğrencileri listeleyiniz.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.* FROM ogrenci WHERE (((ogrenci.ogrno) In (9,13,21,17))); |
Sql Sorgu Örnekleri 26: Sayfa sayısı en fazla olan kitabı getirin
Büyükten küçüğe doğru sıralayıp, tek kayıt gösterin
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT TOP 1 kitap.*, kitap.sayfasayisi FROM kitap ORDER BY kitap.sayfasayisi DESC; |
Sql Sorgu Örnekleri 27: En yaşlı öğrenciyi bulunuz.
Doğum tarihine göre artan sıralama yapıp 1 tane kayıt gösterilir.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT TOP 1 ogrenci.* FROM ogrenci ORDER BY ogrenci.dtarih; |
Sql Sorgu Örnekleri 28: Her sınıfta kaç öğrenci olduğunu bulunuz.
Bu işlem için Access verisyonlarında farklılık olduğu için açıklama yapılması gerekiyor.
-Tasarım /Toplamlar sembolüne tıklandığında sorgulama alanında toplam satırı açılacaktır.
-Şekildeki gibi say komutunu veriyoruz. Access verisyonalında farklılık olduğu için İfadede tanımlanmamış say işlemi hatası verebilir.
-Tasarım görünümünden -> Sql Görümününe geçip sorguda geçen Saykomutunu Count olarak değiştirin.
-Son hali aşağıdaki gibi olacaktır.
Sql Sorgu Örnekleri 29: Her sınıftaki kız öğrenci sayısını bulunuz.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.sinif, Count(ogrenci.cinsiyet) AS Saycinsiyet FROM ogrenci GROUP BY ogrenci.sinif; |
Sql Sorgu Örnekleri 30:Her öğrencinin okuduğu kitap sayısını bulunuz.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.ogrno, ogrenci.ograd, ogrenci.ogrsoyad, Count(islem.islemno) AS Sayislemno FROM ogrenci INNER JOIN islem ON ogrenci.ogrno = islem.ogrno GROUP BY ogrenci.ogrno, ogrenci.ograd, ogrenci.ogrsoyad; |
Sql Sorgu Örnekleri 31: En çok okunan kitabı bulunuz.
Sql Sorgu Cümlesi:
1 2 3 4 5 | SELECT ogrenci.ogrno, ogrenci.ograd, ogrenci.ogrsoyad, Count(islem.islemno) AS Sayislemno FROM ogrenci INNER JOIN islem ON ogrenci.ogrno = islem.ogrno GROUP BY ogrenci.ogrno, ogrenci.ograd, ogrenci.ogrsoyad; |
Sql Sorgu Örnekleri 32: Her öğrencinin okuduğu kitap sayısını listeleyin. Ama kitap okumayanların yanında “0” yazsın.
Sql Sorgu Cümlesi:
1 2 3 4 5 6 | SELECT ogrenci.ogrno, ogrenci.ograd, ogrenci.ogrsoyad, Count(islem.kitapno) AS Saykitapno FROM ogrenci LEFT JOIN islem ON ogrenci.ogrno = islem.ogrno GROUP BY ogrenci.ogrno, ogrenci.ograd, ogrenci.ogrsoyad ORDER BY Count(islem.kitapno); |
Sql Sorgu Örnekleri 33: 10A veya 10B sınıfından olmayan öğrencileri listeleyin. ( Sınıfı 10A veya 10B olan öğrencileri bulup değilini alarak sonucu bulabiliriz.)
1 2 3 4 5 | SELECT ogrenci.ograd, ogrenci.ogrsoyad, ogrenci.sinif FROM ogrenci WHERE ((Not ([sinif]="10A" Or [sinif]="10B"))); |
Sql Sorgu Örnekleri 34: Hiç kitap alamayan öğrencileri listeleyiniz.
1 2 3 4 5 | SELECT ogrenci.ograd, ogrenci.ogrsoyad, islem.atarih FROM ogrenci LEFT JOIN islem ON ogrenci.ogrno = islem.ogrno WHERE (((islem.atarih) Is Null)); |
Sql Sorgu Örnekleri 35: Kitap alıp teslim etmeyen öğrencileri listeleyin. (Not: Veriler boş çıkabilir. Bir tane öğrencinin vtarih alanını temizleyip sorgulayın.)
1 2 3 4 5 6 | SELECT ogrenci.ograd, ogrenci.ogrsoyad, islem.vtarih, islem.atarih FROM ogrenci LEFT JOIN islem ON ogrenci.ogrno = islem.ogrno WHERE (((islem.vtarih) Is Null) AND ((islem.atarih) Is Not Null)) ORDER BY islem.vtarih; |
Sql Sorgu Örnekleri 36: Alınan kitapların kitap numarasını, adını ve kaç defa alındığını kitap numaralarına göre artan sırada listeleyiniz.
1 2 3 4 5 6 | SELECT kitap.kitapno, kitap.kitapadi, Count(islem.islemno) AS Sayislemno FROM kitap INNER JOIN islem ON kitap.kitapno = islem.kitapno GROUP BY kitap.kitapno, kitap.kitapadi ORDER BY kitap.kitapno; |
Sql Sorgu Örnekleri 37: Alınan kitapların kitap numarasını, adını kaç defa alındığını (alınmayan kitapların yanında 0 olsun) listeleyin
Sql Sorgu Cümlesi:
1 2 3 4 5 6 | SELECT kitap.kitapno, kitap.kitapadi, Count(islem.islemno) AS adet FROM kitap LEFT JOIN islem ON kitap.kitapno = islem.kitapno GROUP BY kitap.kitapno, kitap.kitapadi, islem.kitapno ORDER BY Count(islem.islemno); |
Sql Sorgu Örnekleri 38: Öğrencilerin adı soyadı ve aldıkları kitabın adı listelensin.
1 2 3 4 | SELECT kitap.kitapadi, ogrenci.ogrsoyad, kitap.kitapadi FROM ogrenci INNER JOIN (kitap INNER JOIN islem ON kitap.kitapno = islem.kitapno) ON ogrenci.ogrno = islem.ogrno; |