SQL - DQL
Demo
SELECT a, b AS c, avg(d), 1000
FROM f NATURAL JOIN g JOIN h ON g.a = g.h
WHERE Name LIKE '%u%' AND NOT (Name LIKE 't%' OR Name LIKE '%t')
GROUP BY a, c
HAVING sum(e) > 1234
UNION (
SELECT DISTINCT i
FROM j JOIN k USING l LEFT JOIN m
)
LIMIT 5678;
SELECT (SELECT COUNT(∗)∗1.0 FROM Training) / (SELECT COUNT (∗) FROM Benutzer) AS FOO;
Bemerkenswert
- bei
GROUP BY
müssen alle selektierten Attribute, die nicht durch eine Aggregatfunktion gejagt werden, in der GROUP BY
-Klausel stehen
-
LIKE
vergleicht den ganzen string, aber %
ist eine Wildcart, also basically .*
-
HAVING
erlaubt quasi WHEN
mit Aggregatfunktionen über GROUP BY
-Mengen
- Sub
SELECT
s nach UNION
oder EXCEPT
kommen in Klammern
-
RIGHT
bzw. LEFT JOIN
geben alle Tupel der spezifizierten Seite aus und ergänzen diese mit Daten der anderen Seite falls vorhanden
- nach
COUNT
kommt idR `(*)
- cast to float zum Teilen mit
*1.0
No Comments