Alper VAHAPLAR
The GROUP BY statement groups rows that have the same values into summary rows,
The GROUP BY statement is often used with aggregate functions (COUNT, MAX, MIN, SUM, AVG) to group the result-set by one or more columns.
SELECT column_name(s) FROM table_name
WHERE condition
GROUP BY column_name(s)
Sum of salaries of departments
SELECT branchno, SUM(salary) FROM Employee
GROUP BY branchno
branchno Expr1001
B003 54000
B005 39000
B007 9000
Aveage salary of each position
SELECT position, AVG(salary) FROM Employee
GROUP BY position
position Expr1001
Assistant 10000
Manager 27000
Supervisor 18000
Average salary of men and women
SELECT sex, AVG(salary) FROM Employee
GROUP BY sex
sex Expr1001
F 13500.0
M 24000.0
Grouping with mode than 1 conditions
Average salary of men and women by branchno
SELECT sex, branchno, AVG(salary) FROM Employee
GROUP BY sex, branchno
sex branchno Expr1002F B003 18000.0
F B005 9000.0
F B007 9000.0
M B003 18000.0
M B005 30000.0
Average salary of branchno by sex
SELECT branchno, sex AVG(salary) FROM Employee
GROUP BY branchno, sex
branchno sex Expr1002
B003 F 18000.0
B003 M 18000.0
B005 F 9000.0
B005 M 30000.0
B007 F 9000.0
Number of employees in departments
SELECT branchno, count(staffno) FROM Employee
GROUP BY branchno
branchno Expr1001
B003 3
B005 2
B007 1
Number of employees (ordered by employee num.)
SELECT branchno, count(staffno) FROM Employee
GROUP BY branchno
ORDER BY count(staffno)
branchno Expr1001
B007 1
B005 2
B003 3
Number of employees working in B003 and B005
SELECT branchno, count(staffno) FROM Employee
WHERE branchno =‘B003’
OR branchno=‘B005’
GROUP BY branchno
branchno Expr1001
B003 3
B005 2
Conditional Grouping
Check the condition for grouped operation (aggregate functions)
SELECT column_name(s) FROM table_name
WHERE condition
GROUP BY column_name(s) HAVING condition
ORDER BY column_name(s)
Conditional Grouping
Departments with sum of salaries higher than 30000
SELECT branchno, SUM(salary) FROM Employee
GROUP BY branchno
HAVING sum(salary)>30000
branchno Expr1001
B003 54000
B005 39000
Beyazesya(urunno, modeli, markakodu, turkodu, fiyati)
Markalar(markakodu, marka, ulke)
Turler(turkodu, turadi, aciklama)
Kaç farklı marka var?
Hangi ülkelerin markaları var?
Her ülkenin kaç markası var?
Her bir markanın kaç ürünü var?
Her türün fiyat ortalaması?
Beko marka türlerin fiyat ortalaması?
Her türün en pahalı ve en ucuz ürünlerinin fiyatı?
Her markanın en ucuz ve en pahalı ürünlerinin fiyatları?
Her markanın her türünün fiyat ortalaması?
Her türün her markasının fiyat ortalaması?
movie(id, title,year,score,votes)
actor(id,name)
cast(movieid,actorid, ord)
Her yıl kaç film çekilmiş?
Her filmde kaç oyuncu var?
En çok oyuncusu olan filmin ismi
En çok oyuncusu olan 3 filmin ismi
10 dan fazla oyuncusu olan filmlerin adları
Her oyuncunun kaç filmde oynadığı
Her oyuncunun kaç filmde başrol oynadığı
En çok başrol oynayan oyuncunun ismi
Star Wars’ta oynayan oyuncuların adları
Harrison Ford’un oynadığı filmlerin isimleri
Harrison Ford’un başrol oynadığı filmlerin isimleri
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
“Bosch” marka beyaz eşyaların modeli ve fiyatı
SELECT modeli, fiyatı FROM BeyazEşya WHERE markakodu =
(SELECT markakodu FROM Markalar WHERE marka = ‘Bosch’)
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
Select the “urunno” and “marka” fields.
SELECT urunno,marka
FROM BeyazEsya, Markalar
urunno marka BEK001 Beko BEK001 Arçelik BEK001 Bosch BEK001 Frigidaire BEK002 Beko
… …
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
Select the “urunno” and “marka” fields for “marka” Beko
SELECT urunno,marka
FROM BeyazEsya, Markalar WHERE marka=‘Beko’
urunno marka BEK001 Beko BEK002 Beko BEK003 Beko BEK101 Beko BEK102 Beko ARC001 Beko
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
“urunno” and “marka” with “markakodu” =1
SELECT urunno, marka
FROM BeyazEsya, Markalar WHERE markakodu=1
Which markakodu???
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
“urunno” and “marka” with “markakodu” =1
SELECT urunno,marka
FROM BeyazEsya, Markalar WHERE
Beyazesya.markakodu=1
urunno marka BEK001 Beko BEK001 Arçelik BEK001 Bosch BEK001 Frigidaire BEK002 Beko BEK002 Arçelik
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
List “urunno” and “turadi” for all records.
SELECT urunno, turadi FROM BeyazEsya, Turler
WHERE Beyazesya.turkodu=Turler.turkodu
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
List “urunno” and “marka” for all records.
SELECT urunno, marka
FROM BeyazEsya, Markalar
WHERE Beyazesya.markakodu=Markalar.markakodu
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
List “urunno” and “marka” for all records.
SELECT urunno,marka
FROM BeyazEsya b, Markalar m
WHERE b.markakodu=m.markakodu
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
Her ürünün modeli, türü ve fiyatı
SELECT modeli, turadi, fiyati
FROM BeyazEsya b, Turler t
WHERE b.turkodu = t.turkodu
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
“Bosch” marka ürünlerin modeli ve fiyatı
SELECT modeli, fiyati
FROM BeyazEsya b, Markalar m
WHERE marka = ‘Bosch’ AND
b.markakodu = m.markakodu
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
Buzdolaplarının modeli ve fiyatı
SELECT modeli, fiyati
FROM BeyazEsya b, Turler t
WHERE turadi = ‘Buzdolabı’ AND
b.turkodu = t.turkodu
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
Buzdolaplarının fiyat ortalaması
SELECT AVG(fiyati)
FROM BeyazEsya b, Turler t
WHERE b.turkodu = t.turkodu
AND turadi=‘Buzdolabı’
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
Tüm ürünlerin modeli, türü, markası ve fiyatı
SELECT modeli,turadi,marka,fiyati
FROM BeyazEsya b, Turler t,Markalar m WHERE b.turkodu = t.turkodu
AND b.markakodu = m.markakodu
modeli turadi marka fiyati
BX-027 Buzdolabı Beko 450
BZ-124 Buzdolabı Beko 650
BW-888 Buzdolabı Beko 1100
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
Bosch marka Buzdolaplarının modeli ve fiyatları
SELECT marka,modeli,fiyati
FROM BeyazEsya b, Turler t, Markalar m WHERE marka=‘Bosch’
AND turadi=‘Buzdolabı’
AND b.turkodu = t.turkodu
AND b.markakodu = m.markakodu
BeyazEsya (urunno, modeli, markakodu, turkodu, fiyati)
Türler (turkodu, turadi, aciklama) (Ex: 01-Buzdolabı)
Markalar (markakodu, marka) (Ex: 01-Arçelik, 02-Beko)
Her markanın kaç ürünü var?
SELECT marka,count(urunno) as Adet FROM BeyazEsya b, Markalar m
WHERE b.markakodu = m.markakodu
GROUP BY marka
marka AdetArçelik 6
Beko 5
Bosch 4
Beyazesya(urunno, modeli, markakodu, turkodu, fiyati)
Markalar(markakodu, marka, ulke)
Turler(turkodu, turadi, aciklama)
Her ülkenin kaç markası var?
Her türün fiyat ortalaması?
Beko marka türlerin fiyat ortalaması?
Her türün en pahalı ve en ucuz ürünlerinin fiyatı?
Her markanın en ucuz ve en pahalı ürünlerinin fiyatları?
Her markanın her türünün fiyat ortalaması?
Her türün her markasının fiyat ortalaması?
movie (id, title,year,score,votes)
actor (id,name)
cast (movieid,actorid, ord)
Her yıl kaç film çekilmiş?
Her filmde kaç oyuncu var?
Star Wars’ta oynayan oyuncuların adları
Her filmin adı, yılı ve oyuncu sayısı
Star Wars serisinin filmadı, yılı ve başrol oyuncusu
Harrison Ford’un oynadığı filmlerin isimleri
Harrison Ford’un başrol oynadığı filmlerin isimleri
En yüksek score’a sahip filmin oyuncuları