Öğr.Gör.Murat KEÇECĠOĞLU Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı
Ġşlemlerimizi daha önce yarattığımız müsteri, urun ve satış tabloları ile yapalım.
Müşteri tablosunda aşağıdaki veriler vardır.
Ürun tablosunda aşağıdaki veriler vardır.
Satış tablosunda aşağıdaki veriler vardır.
Tablolarda aritmetik işlemler yapılırken sorular ve bu soruların cevabı olan sorgular dizayn edilir. Örn Soru: ürünkodu C278 olan üründen iki adet satılsa idi ve %18 KDV ekleseydi toplam tutar ne kadar olacaktı. Örn Cevap: Sorgu dizayn edilirken soruda sorulan parametreler bizim için önemlidir. Üsteki soruda bu parametreler renkle gösterilmiştir.
Öyleyse sorgu aşağıdaki gibi dizayn edilmelidir. Select urunkodu, urunadi, fiyati*2+fiyati*0.18 from urun where urunkodu= C278 ; Sorgu her zaman tersten okunacağı için; urunkodu= C278 fiyati*0.18 fiyati*2 kodlu ürün KDV si 2 adet ürün
Sorgu sonucu ise aşağıdaki gibidir. Select urunkodu, urunadi, fiyati*2+fiyati*0.18 from urun where urunkodu= C278 ;
Sorgularda lakap kullanmanın sebepleri ; Sütun isimleri aynı zamanda bir değişken ismidir. Bu değişken isimlerini saklamak için sorgularda lakap kullanılır. Sütun isimlerini aynı zamanda Türkçe karakterle yazmak ve iki isimden oluşan sütun isimleri içinde lakap kullanılır. Mysql de (oracle) lakap kullanılırken AS ifadesini kullanmak zorunlu değildir. Ancak iki kelimeden oluşan lakap isimleri çift tırnak içerisine alınmalıdır.
Lakap ile sorgu sonucu ise aşağıdaki gibidir. Select urunkodu Kodu, urunadi Adı, fiyati*2+fiyati*0.18 Toplam Fiyat from urun where urunkodu= C278 ;
Başka bir soruda şöyle olabilir ; Murat Koçer adlı müşteri 3 er adet ürün satın almış ve %18 KDV ile 12 TL kargo bedeli ödemiştir. Ürünün adını,fiyatını, satın aldığı miktarı, KDV ve kargo bedelini de gösteren ve toplam ödeyeceği fiyatı gösteren sorguyu yazınız. Select musteri.musadi, musteri.mussoyadi, urun.urunadi, urun.fiyati urun.urunfiyati*0.18, urun.fiyati*1, urun.fiyati+urun.fiyati*1, urun.fiyati*0.18, urun.fiyati*3+ urun.fiyati*0.18 from urun, musteri where musteri.musno= M114 and musteri.musno=urun.musno;
Sorgu sonucu ise aşağıdaki gibidir.
Başka bir soruda şöyle olabilir ; Hangi ürünleri hangi müşteriler satın almıştır. Select musteri.musadi, musteri.mussoyadi, urun.urunadi, urun.fiyati from urun, musteri where musteri.musno=urun.musno;
Aralık sorguları Gruplama Sorguları Sıralama Sorguları inde sorguları Between and Group by Order By Like
Beetween and aralık sorgularıdır ve genellikle rakamsal ifadelerde kullanılır. Örn: Ürün tablosunda ürün fiyatı 25 ve 85 ve arasında olanları görüntüleyecek sorguyu yazınız. Select urunadi, fiyati from urun where fiyati between 25 and 85;
Gruplama Group By ile yapılır. Seçilen alana göre veri gruplanır. (ASC A-Z veya DESC Z-A) Örn: Müşteri tablosunda müşterileri müşteri adına göre (A-Z) gruplayınız. (ASC kullanmak şart değildir) Select musno, musadi, mussoyadi from musteri group by musadi; Üsteki sorgudan farklı olarak sıralamanın değiştiğine dikkat ediniz. (A-Z)
Gruplama Group By ile yapılır. Seçilen alana göre veri gruplanır. (ASC A-Z veya DESC Z-A) Örn: Müşteri tablosunda müşterileri müşteri adına göre (Z-A) gruplayınız. Select musno, musadi, mussoyadi from musteri group by musadi; Üsteki sorgudan farklı olarak sıralamanın değiştiğine dikkat ediniz. (Z-A)
Sıralama Order By ile yapılır. Seçilen alana göre veri sırlanır. (ASC 0-9 veya DESC 9-0) Örn: Ürün tablosunda ürünleri en büyük fiyata göre (9-0) sıralayınız. Select urunkodu, urunadi, fiyati from urun order by fiyati; Üsteki sorgudan farklı olarak sıralamanın değiştiğine dikkat ediniz. (9-0)
Sıralama Order By ile yapılır. Seçilen alana göre veri sırlanır. (ASC 0-9 veya DESC 9-0) Örn: Ürün tablosunda ürünleri en küçük fiyata göre (0-9) sıralayınız. (ASC kullanmak şart değildir) Select urunkodu, urunadi, fiyati from urun order by fiyati; Üsteki sorgudan farklı olarak sıralamanın değiştiğine dikkat ediniz. (0-9)
Like sorguları alan değeri içerisinde geçen bir kısımdan yola çıkarak sonuç elde etmek için kullanılır. Örn: Like A% Like %A Like %A% A harfi ile başlayanlar A harfi ile bitenler Ġçerinde A harfi olanlar
Müşteri tablosunda müşteri adı M harfi ile başlayanlar. select musno, musadi, mussoyadi from musteri where musadi like M% ;
Müşteri tablosunda müşteri soyadi L harfi ile bitenler select musno, musadi, mussoyadi from musteri where musadi like M% ;
Ürün tablosunda ürün adı içerisinde S harfi bulunanlar select urunkodu, urunadi from urun where urunadi like %S% ;
Müşteri ve ürün tablolarını yapınız (yada daha önce yaptıysanız) Yansılardaki örneklere uygun olarak sorgular dizayn ediniz. Süre 2 ders saati
DML işlemleri