Advanced SQL Ii: CS 564 - Fall 2020
Advanced SQL Ii: CS 564 - Fall 2020
SQL II
• SQL: Aggregation
– Aggregate operators
– GROUP BY
– HAVING
• SQL: Nulls
• SQL: Outer Joins
SELECT AVG(Population)
FROM Country
WHERE Continent = ‘Europe’;
R A B C A B C A SUM(B*C)
a 2 0 a 2 0 SELECT a 5
a 5 1 grouping 5 1 clause b 7
b 7 1 b 7 1 c 4
b 6 0 6 0
c 4 1 c 4 1
SELECT [DISTINCT] S
FROM R, S, T ,…
WHERE C1
GROUP BY attributes
HAVING C2
ORDER BY attribute ASC/DESC
LIMIT N ;
1 0.5 0.5
0.5 (1-0.5)
SELECT COUNT(*)
FROM Country
WHERE IndepYear > 1990 OR IndepYear <= 1990 ;
SELECT COUNT(*)
FROM Country
WHERE IndepYear > 1990 OR IndepYear <= 1990
OR IndepYear IS NULL;
SELECT A, C
R A B FROM R LEFT OUTER JOIN S
a 2 ON R.B = S.B
a 5
b 5 A C
c 6
a 100
a 300
S B C
2 100 b 300
3 200 c NULL
5 300
7 400