Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

GROUP BY HAVING ORDER BY LIMIT

Benzer bir sunumlar


... konulu sunumlar: "GROUP BY HAVING ORDER BY LIMIT"— Sunum transkripti:

1 GROUP BY HAVING ORDER BY LIMIT
İbrahim Onur Sığırcı

2 Örnek 1 – Grup Fonksiyonları
* «Sales» departmanında kaç kişinin çalıştığını, toplam maaşlarını, en yüksek maaşı, en düşük maaşı ve ortalama maaşı bulunuz. SELECT count(*), sum(salary), max(salary), min(salary), avg(salary) FROM department d, employee e WHERE d.dnumber = e.dno AND d.dname = ‘Sales’

3 Örnek 2 – Grup Fonksiyonları
* 8 numaralı departmanda çalışan işçilerin ortalama ve toplam maaşlarını bulunuz. SELECT avg(salary), sum(salary) FROM employee e WHERE e.dno = 8 avg(salary) sum(salary) 40821 571500

4 Örnek 2 – Grup Fonksiyonları
* 8 numaralı departmanda çalışan işçilerin ortalama ve toplam maaşlarını bulunuz. SELECT avg(salary) AS ortalama, sum(salary) AS toplam FROM employee e WHERE e.dno = 8 ortalama toplam 40821 571500

5 Örnek 3 – Grup Fonksiyonları
* «Middleware» projesinde kaç kişinin çalıştığını ve bu çalışanların ortalama maaşlarını bulunuz. SELECT count(*) AS calisan_sayisi, avg(salary) FROM employee e, works_on w, project p WHERE e.snn = w.essn AND w.pno = p.pnumber AND p.pname = ‘Middleware’

6 GROUP BY Gruplamalar yapıp, grup fonksiyonlarını kullanmayı sağlar.
code id BLM1551 BLM1541 EEM2501 BLM3561 EEM4581 SELECT count(*) FROM take GROUP BY code code id BLM1551 , , BLM1541 , EEM2501 BLM3561 EEM4581 , count(*) 3 2 1

7 GROUP BY SELECT count(*), code FROM take WHERE code LIKE ‘BLM%’
GROUP BY code code id BLM1551 BLM1541 EEM2501 BLM3561 EEM4581 code id BLM1551 BLM1541 BLM3561 code id BLM1551 , , BLM1541 , BLM3561 count(*) code 3 BLM1551 2 BLM1541 1 BLM3561

8 ORDER BY Sorguları belli bir sıraya göre yazdırmayı sağlar.
SELECT code, id FROM take WHERE id LIKE ‘12%’ ORDER BY id code id BLM1551 BLM1541 EEM2501 BLM3561 EEM4581 code id BLM1551 BLM1541 EEM4581 EEM2501

9 ORDER BY SELECT code, id FROM take WHERE id LIKE ‘12%’
ORDER BY id DESC code id BLM1551 BLM1541 EEM2501 BLM3561 EEM4581 code id BLM1551 EEM2501 BLM1541 EEM4581

10 ORDER BY SELECT code, id FROM take ORDER BY id DESC, code ASC code id
BLM1551 BLM1541 EEM2501 BLM3561 EEM4581 code id BLM1551 BLM3561 EEM4581 EEM2501 BLM1541

11 Örnek 4 * Her bir projede çalışanların ortalama maaşını bulup proje ismine göre alfabetik olarak sıralayınız. SELECT pname, avg(salary) FROM employee e, works_on w, project p WHERE e.snn = w.essn AND w.pno = p.pnumber GROUP BY pname ORDER BY pname

12 Örnek 5 * Her bir departmanda her bir cinsiyetten kaçar işçi olduğunu ve bu işçilerin ortalama maaşlarını bulunuz. SELECT dno, sex, count(*), avg(salary) FROM employee e GROUP BY dno, sex

13 Örnek 5 * Her bir departmanda her bir cinsiyetten kaçar işçi olduğunu ve bu işçilerin ortalama maaşlarını bulunuz. SELECT dno AS departman_no, sex AS cinsiyet, count(*) AS calisan_sayisi, avg(salary) AS ortalama_maas FROM employee e GROUP BY dno, sex

14 HAVING Gruplama için şart eklemeye yarar. SELECT code, id FROM take
WHERE id LIKE ‘12%’ GROUP BY code HAVING count(*)=1 code id BLM1551 BLM1541 EEM2501 BLM3561 EEM4581 code id BLM1551 BLM1541 EEM4581 EEM2501 code id BLM1551 , BLM1541 , EEM4581 EEM2501 code id EEM4581 EEM2501

15 Örnek 6 * 5 numaralı departman dışındaki departmanlar arasından, ortalama maaşı 40000$’dan fazla olan departmanların numaralarını ve bu departmandaki ortalama maaşları bulan sorguyu yazınız. SELECT dno AS departman_no, avg(salary) AS ortalama_maas FROM employee GROUP BY dno HAVING avg(salary) > 40000 AND dno<>5

16 LIMIT Sorgu sonucundaki oluşan tabloda belli bir aralıktaki satırları almak için kullanılır. code id BLM1551 BLM1541 EEM2501 BLM3561 EEM4581 SELECT code, id FROM take LIMIT 3 code id BLM1551

17 LIMIT SELECT code, id FROM take LIMIT 3 OFFSET 5 code id code id
BLM1551 BLM1541 EEM2501 BLM3561 EEM4581 SELECT code, id FROM take LIMIT 3 OFFSET 5 code id EEM2501 BLM3561 EEM4581

18 LIMIT SELECT code, id FROM take LIMIT 5, 3 code id code id BLM1551
BLM1541 EEM2501 BLM3561 EEM4581 SELECT code, id FROM take LIMIT 5, 3 code id EEM2501 BLM3561 EEM4581

19 LIMIT LIMIT A LIMIT B, A LIMIT A OFFSET B İlk A tanesi
B numaralı kayıttan sonra (hariç) A satır LIMIT A OFFSET B A adet satır B numaralı kayıttan sonra (hariç)

20 ÖRNEK 7 En çok maaşı alan işçinin ismini ve soyismini gösteren sorguyu yazınız. SELECT fname, lname FROM employee ORDER BY salary DESC LIMIT 1 veya LIMIT 0, 1 LIMIT 1 OFFSET 0


"GROUP BY HAVING ORDER BY LIMIT" indir ppt

Benzer bir sunumlar


Google Reklamları