Konumuza veritabani sorgulariyla devam ediyoruz. SQL, veritabaniyla verialisverisi için gelistirilmis standart bir dildir. Bu dil kullanilarak asagidaki veritabani islemleri yapilabilir.
- Veri Eklemek
- Verileri Almak
- Sorgulama Yapmak
- Verileri Silmek
- Verileri Güncellemek
SELECT Deyimi :
Veritabanindan verileri almak için kullanilir. Bu deyimler birlikte kullanilan kosula uygun veriler veritabanindan çekilir. Kullanim Sekli :
SELECT sütun ismi/isimleri FROM tablo ismi [WHERE arama kosulu]
[ORDER BY siralanis bildirimi ASC veya DESC]
NOT: SQL deyimleri büyük küçük harfe duyarli degildir. Deyimleri büyük harfle(SELECT) veya küçük harfle (select) yazmak arasinda herhangi bir fark yoktur.
Kullanim seklindeki köseli parantez içindeki ifadelerin kullanilmasi zorunlu degildir,istege baglidir. Asagida bu deyimin kullanimiyla ilgili örnekler verilmistir.
INSERT Deyimi :
Veritabanina yeni bir kayit eklemek için kullanilir. Kullanim Sekli söyledir;
INSERT INTO tablo ismi [(verinin eklenecegi sütun isimleri)]
VALUES (eklenecek degerler)
INSERT INTO Kisiler (Ad,Soyad) VALUES (“Gül”,”Naz”)
ifadesi, Kisiler tablosunun Ad ve Soyad alanlarina yeni degerleri eklemeyi saglar. Böylelikle
tabloya yeni bir kayt eklenmis olur.
UPDATE Deyimi :
Kosul veya kosullar belirtilerek kayitlarin güncellenmesini saglayan deyimdir.
Kullanim sekli;
UPDATE tablo ismi SET sütun ismi [WHERE arama kosulu]
UPDATE Kisiler SET Ad=”Cem” WHERE Soyad=”Çiçek”
ifadesi soyadi “Çiçek” olan kayitlarin Ad verisini “Cem” olarak degistirmeyi saglar. Sonuç
olarak tablodaki “Yadigar” verisini “Cem” olarak degistirir.
DELETE Deyimi :
Tablodan kayit silmek amaciyla kullanilir.
DELETE FROM tablo ismi [WHERE arama kosulu]
Bu deyimWHERE kosulu olmadan kullanilirsa tablodaki tüm kayitlar silinir.
DELETE FROM Kisiler WHERE Ad=”Nilsu”
Gerekli kisa bilgiler verildikten sonra sorgularima geçebiliriz.
Soru 1 : Alisveris yapan müsterilerin adini ve soyadini ekranda gösterin.
Select ad,soyad From müsteriler
Soru 2 : Bügüne kadar satilan ürünlerin tamamini buldurun.
Select urunadi From siparisler
Soru 3 : Hangi müsterinin nerde oturdugunu bulan koadlari yaziniz.
Select ad,soyad,adres From müsteriler
Soru 4 : Hangi müsterinin hangi müsteri numarasinasahip oldugunu ekranda gösteriniz.
Select ad,soyad,musteri_no From musteriler
Soru 5 : Hangi ürüne ne kadar fiyat ödendigini ekranda gösteriniz.
Select urunadi,fiyat From Siparisler
Soru 6 : Hangi ürünün hangi tarihlerde satildigini listeleyiniz.
Select urunadi,tarih from siparisler
Soru 7 : Satilan ürünlerin tarihlerine göre siralayarak ekrana getiriniz.
Order by = Siralama islemini yapmamizi saglar.
ASC = Artan ____ DESC = Azalan
Select siparisler.[urunadi],siparisler[tarih] From siparisler Order by siparisler.[Tarih];
Select urunadi,tarih from siparisler order by tarih
Soru 8 : Ürünlerin fiyatina göre azalarak listeleyiniz.
Select fiyat From siparisler order by fiyat desc
Soru 9 : Hangi ürüne hangi tarihte ne kadar fiyat ödenmis ise ürün adlarina göre azalan sekilde siralyarak ekrana getiriniz.
Select urunadi,tarih,fiyat from siparisler order by urunadi desc
Soru 10 : Müsterilerin adina göre artan soyadina göre azalan sirada ekranda listeleyiniz.
Select ad,soyad from müsteriler order by ad asc, soyad desc
Soru 11 : Sadece 1 numarali müsterinin, müsteri bilgilerini ekrana getiriniz.
Where = Sartli ifadelerde kullanilir.
Select * from tabloadi Where alanadi=aranacakdeger
Select * From müsteriler Where musteri_no=1
Soru 12 : Adi çigdem olan müsterilerin soyadlarini ekranda listeleyeniz.
Select soyad From müsteriler Where ad="çigdem"
Not : Sartli ifadelerde sayisal türden alanlarda çift tirnak kullanilmazken, metinsel alanlarda çift tirnak kullanilir.
Soru 13 : Adi betül olan müsterilerin soyad ve adres bilgilerini ekranda gösteriniz.
Select soyad,adres From müsteriler Where ad="Betül"
Soru 14 : Antalyada Oturan müsterilerin ad soyad ve adres bilgilerini ekranda listeleyiniz.
Select ad,soyad,adres From Müsteriler Where adres="Antalya"
KARSILATIRMA OPERATÖRLERI
• = Esittir
• < Küçük
• > Büyük
• <= Küçük esit
• >= Büyük Esit
• != Esit Degil
• <> Esit Degil
Soru 15 : Fiyati 3 Liradan fazla olan ürünleri ekranda listeyiniz.
Select urunadi,fiyat from siparisler Where fiyat>3
// Not komutu olan islemin tersini yapat. Ögrnegin Where not fiyat = 3 fiyati 3 den farkli olanlari getirir.
Select * From Tabloadi Where Not (alanadi(operatör)sart)
Soru 16 : 4 Numarali faturanin hangi müsteriye kesildigini bulunuz.
Select müsteri_no from siparisler Where siparis_id=4
Soru 17 : 2 Numarali Faturanin ne zaman kesildigini bulunuz.
Select siparis_id,tarih From siparsiler Where siparis_id=2
Soru 18 : Hangi Müsterinin hangi tarihte alisveris yaptigini bulunuz.
Select musteri_no,tarih from siparisler
Soru 19 : Hangi müsterilerin hangi ürünleri aldigini müsteri sirasina göre artan sekilde siralayarak ekranda gösteriniz.
Select müsteri_no,urunadi from siparisler order by müsteri_no
Soru 20 : 1 numarali müsterinin almis oldugu ürünleri ekranda listeleyiniz.
Select musteri_no,urunadi from siparisler Where musteri_no=1
Soru 21 : 1 numarali müsterinin almis oldugu ürünleri ürün adina göre azalan sekilde ekranda listeleyiniz.
Select musteri_no,urunadi From siparisler Where urunadi=1 order by urunadi desc
Soru 22 : 1 numarali müsteri peynire ne kadar fiyat ödemis.
Select musteri_no,urunadi,fiyat From siparisler Where musteri_no=1 and urunadi="peynir"
Soru 23 : 3 Numarali müsteri sekeri ne zaman almis.
Select musteri_no,urunadi,tarih From siparisler Where musteri_no=3 and urunadi="seker"
Soru 24 : 05:03:2012 tarihinden sonra satiln ürünleri ekranda listeleyiniz.
Select urunadi,tarih From siparisler Where tarih>#05/03/2012#
Not : Tarihle ilgili herhangi bir arama yapilirken tarih bilgisindeki ay ve gün yer degistirir, tarih isaretleri diez(#) isaretlerinin içine yazilir. SQL kodunu yazarken nokta yerine / kullanilir.
Soru 25 : Fiyati 3,5 ve 7 lira arasinda olan ürünleri listeleyiniz.
Select urunadi,fiyat From siparisler Where Fiyat > 3,5 and fiyat < 7
Soru 26 : Izmir veya Ankarada Oturan müsterileri ekranda listeyiniz.
Select ad,soyad,adres From musteriler Where adres="Izmir" or adres="Ankara"
Soru 27 : Izmir veya Ankarada oturup adi Betül olan müsterilerin bilgilerini ekranda listeleyiniz.
Select * From musteriler Where adi="Betül" and adres="Izmir" or adres="Ankara"
Soru 28 : 06.03.2012 tarihinde alisveris yapan müsterilerin numaralarini ekranda listeyeleyiniz.
Select tarih,musteri_no From musteriler Where tarih=#03/06/2012#
Soru 29 : 07.03.2012 tarihinde satilan ürünleri ve bu ürünleri alan müsterilerin numaralarini numarasina göre artan sekilde siralayarak ekranda gösteriniz.
Select urunadi,tarih,musteri_no Where tarih=#03/07/2012# Order By musteri_no asc
Soru 30 : Müsteri numarasi 2 ile 8 arasinda olan müsterileri ekranda listeleyiniz.
Select musteri_no,ad,soyad From musteriler Where musteri_no >= 2 and musteri_no <= 8
Soru 31 : Adi Betül Soyadi Yenilmez olan müsterilerin bilgilerini ekranda listeyiniz.
Select * From musteriler Where ad="Betül" and soyadi="Yenilmez"
Soru 32 : Adi Betül veya Soyadi yenilmez olan müsterilerin bilgilerini ekranda listeleyiniz.
Select * From musteriler Where ad="Betül" or soyadi="Yenilmez"
Soru 33 : Adi Betül, Mustafa, Hasan müstelerin bilgilerini ekranda listeyiniz.
Select * From musteriler Where ad="Betül" or ad="Mustafa" or ad="Hasan"
Soru 34 : Müsteri numarasi 1 veya 3 olan müsterilerin adini ve soyadini ekrana getiriniz.
Select ad,soyad,musteri_no From musteriler Where musteri_no=1 or musteri_no=3
Soru 35 : Müsteri numarasi 1 ve 5 arasinda olan müsterilerin karamanda oturanlari ekranda listeleyiniz.
Select * From musteriler Where musteri_no > 1 and musteri_no < 5 and adres="Karaman"
Soru 36 : 2 Numarali Faturadan 5 numarali faturaya kadar olan faturalara ait ekranda bilgileri listeleyiniz.
Select fatura From musteriler Where fatura >= 2 and fatura <= 5
Soru 37 : Müsteri numarasi 1 olan seker veya zeytin alan müsterinin fatura bilgilerini ekranda listeleyiniz.
Select * From musteri Where musteri_no=1 and (urun="seker" and urun="zeytin")
// Parantezler bir bütün olarak gözükür, bu yüzden önemlidir. Parantezi karsilastirdiktan sonra yanindaki ölçüt ile karsilastirir.
Soru 38 : Fiyati 4 TL;den fazla olan peynir alindiysa bu ürünün fatura ve fiyatni ekrana getiriniz, bu ürünü alan müsterinin adini ve soyadini getiriniz.
Select fiyat,urun,fatura,ad,soyad From siparisler,musteriler Where fiyat > 4 and urun="peynir" and musteriler.musteri_no=siparsiler.siparis_no
Soru 39 : Bügüne kadar satilan ürünleri kimlerin aldigini bulduran sorguyu olusturunuz.
Select urun,ad,soyad From siparisler,musteriler Where siparisler.siparis_no=musteriler.musteri_no
Soru 40 : Bügüne kadar hangi müsterilerin hangi ürünlere ne kadar fiyat ödedigini fiyata göre azalan sekilde siralayarak ekranda gösteriniz.
Select musteri.ad,musteri.soyad,siparisler.fiyat,siparisler.urun From musteriler.musteri_no,siparisler.siparis_no Where siparisler.musteri_no=musteriler.musteri_no Order By siparisler.fiyat Desc
Soru 41 : 01.03.2012 ve 15.03.2012 tarihleri arasinda alisveris yapan müsterilerin ad soyad bilgilerini ekranda listeleyiniz.
Select tarih,urunadi,ad,soyad From siparis.musteriler Where tarih > #03/01/2012# and tarih < #03/15/2012# and siparisler.musteri_no=musteriler.musteri_no
Soru 42 : Peynir ve Seker alan müsterilerin adreslerini listeleyiniz.
Select urunadi,adres From siparisler.musteriler Where siparis.musteri_no=musteri.musteri_no and (urunadi="Peynir" and urunadi="Seker")
Soru 43 : 07.03.2012 tarihinde peynir veya seker alan müsterilerin isimlerini ekranda listeleyiniz.
Select ad,soyad From siparisler.musteriler Where musteri.musteri_no=siparis.musteri_no and tarih=#03/07/2012# and (urunadi="Peynir" and urunadi="Seker")