Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

1)ER diyagramı

2.1) Mehmet Duru kaç sipariş vermiştir? (müşteri ad-soyad tek hücrede, sipariş sayısı)
SELECT concat( musteriler.ad," ",musteriler.soyad) AS müşteri_ad_soyad,
count(siparisler.adet) AS sipariş_sayısı
FROM siparisler,musteriler
WHERE musteriler.ad = "Mehmet"
AND musteriler.soyad= "Duru"
AND musteriler.musteri_id = siparisler.musteri_id

2.2) Mehmet Duru her siparişi için ne kadar ücret ödeyecektir? Ücreti tam sayı olarak bulunuz
ve çoktan aza sıralayınız. (sipariş id, toplam ücret)

SELECT siparisler.siparis_id,round(siparisler.adet*urunler.fiyat) AS toplam_ücret


FROM siparisler,urunler,musteriler
WHERE musteriler.ad ="Mehmet"
AND musteriler.soyad= "Duru"
AND musteriler.musteri_id =
siparisler.musteri_id
AND siparisler.urun_id = urunler.urun_id
ORDER BY toplam_ücret DESC

2.3) Mehmet Duru’nun tüm siparişleri için toplamda ne kadar ücret ödemiştir? Tam sayı
olarak bulunuz.
SELECT round(SUM(siparisler.adet*urunler.fiyat)) AS toplam_ücret
FROM siparisler,urunler,musteriler
WHERE musteriler.ad ="Mehmet"
AND musteriler.soyad= "Duru"
AND musteriler.musteri_id = siparisler.musteri_id
AND siparisler.urun_id = urunler.urun_id
2.4) Duru’nun her siparişinin toplamda ödediği ücrete oranını bulunuz. Yüzde ifadesi ile
yazdırınız. (sipariş id, % ….)
SELECT siparisler.siparis_id,concat(round(100*(siparisler.adet*urunler.fiyat) / (SELECT
SUM(siparisler.adet*urunler.fiyat)
FROM siparisler,urunler,musteriler
WHERE musteriler.ad ="Mehmet"
AND musteriler.soyad= "Duru"
AND musteriler.musteri_id = siparisler.musteri_id
AND siparisler.urun_id = urunler.urun_id),2),'%')AS toplam_ücret
FROM siparisler,urunler,musteriler
WHERE musteriler.ad ="Mehmet"
AND musteriler.soyad= "Duru"
AND musteriler.musteri_id = siparisler.musteri_id
AND siparisler.urun_id = urunler.urun_id
ORDER BY `toplam_ücret` DESC

2.5) 200 tl altında sipariş ücreti ödenen siparişleri ve sipariş ücretlerini bulunuz. (sipariş id,
sipariş ücreti)

SELECT siparisler.siparis_id,siparisler.adet*urunler.fiyat as siparis_ücreti


FROM siparisler,urunler
WHERE siparisler.urun_id = urunler.urun_id
HAVING siparis_ücreti <200
2.6) 200tl altında sipariş ücreti ödenen kaç tane sipariş bulunmaktadır?
SELECT COUNT(*) as 200_tl_altı_siparis_sayısı
FROM
(SELECT siparisler.siparis_id,siparisler.adet*urunler.fiyat as siparis_ücreti
FROM siparisler,urunler
WHERE siparisler.urun_id = urunler.urun_id
HAVING siparis_ücreti <200) as sonuc

2.7) 200 tl altında ödenen en yüksek 3 sipariş ücretini bulunuz. (sipariş id, sipariş ücreti)

SELECT siparisler.siparis_id, siparisler.adet*urunler.fiyat as siparis_ücreti


FROM siparisler,urunler
WHERE siparisler.urun_id = urunler.urun_id
HAVING siparis_ücreti <200
ORDER BY siparis_ücreti DESC
LIMIT 3

2.8) Her müşterinin ortalama sipariş tutarını bulunuz. (müşteri ad, müşteri soyad, ortalama
ücret-tam sayı)

SELECT musteriler.ad,musteriler.soyad,round(avg(siparisler.adet*urunler.fiyat)) as
ortalama_ücret
FROM urunler,siparisler,musteriler
WHERE musteriler.musteri_id = siparisler.musteri_id
AND urunler.urun_id = siparisler.urun_id
GROUP BY musteriler.musteri_id
2.9)Müşteri bazında ortalama sipariş ücretlerinde 150 TL’nin altında olan kaç müşteri
bulunmaktadır?
SELECT COUNT(*) as musteri_sayısı
FROM(SELECT round(avg(siparisler.adet*urunler.fiyat)) as ortalama_ücret
FROM urunler,siparisler,musteriler
WHERE musteriler.musteri_id = siparisler.musteri_id
AND urunler.urun_id = siparisler.urun_id
GROUP BY musteriler.musteri_id
HAVING ortalama_ücret < 150) as sonuc

2.10)Hiç sipariş vermeyen müşterinin bilgilerini sorgulayınız.

SELECT * FROM musteriler


WHERE musteri_id NOT IN (SELECT musteri_id FROM siparisler)

2.11)Satılamayan ürünleri bulunuz.

SELECT * FROM urunler


WHERE urun_id NOT IN (SELECT urun_id FROM siparisler)
3.1) Sınavı yaptığınız tarihi sorgulayınız.
SELECT CURRENT_DATE

3.2) Sınavı yaptığınız saati sorgulayınız.

SELECT CURRENT_TIME

3.3) Sınavı yaptığınız tarihi ve saati sorgulayınız.

SELECT CURRENT_TIMESTAMP

3.4) Sınavı yaptığınız gün hangi gün? Türkçe bulunuz.

SET lc_time_names = 'tr_TR';


SELECT DAYNAME(now ())

3.5)Sınavı yaptığınız ay nedir? Türkçe bulunuz.

SET lc_time_names = 'tr_TR';


SELECT MONTHNAME(now())

3.6) Hangi yıldayız?

SELECT EXTRACT(YEAR FROM now())

3.7) Sınavı yaptığınız gün ayın kaçı?

SELECT DAYOFMONTH(now())
3.8) Sınavı yaptığınız tarihe 10 gün ekleyen kodu yazınız.

SELECT DATE_ADD(now(),INTERVAL 10 DAY)

3.9) 12 Şubat 2021 hangi güne denk gelmektedir? Türkçe bulunuz.

SET lc_time_names = 'tr_TR';


SELECT DAYNAME('2021/02/12')

3.10) 01 Şubat 2021 ile 12 Şubat 2021 arasında kaç gün vardır?

SELECT DATEDIFF("2021/02/12","2021/02/01")

You might also like