Hi!
Meinst du den Unterschied zwischen
SQL-Code:
SELECT *
FROM table1, table2
WHERE table1.id = table2.id
und
SQL-Code:
SELECT *
FROM table1 JOIN table2 ON table1.id = table2.id
?
Falls ja, dann gibt es im Endeffekt (aufgrund des Anfrageoptimierers der das erste intern quasi in das 2. umwandelt) keinen Unterschied.
Von der Sache her, ist der Unterschied aber riesig. Das erste macht ein Kreuzprodukt der beiden Tabellen und filtert dann nur die raus, die du eigentlich haben willst - im Zwischenschritt hast du also Unmengen Tupel, die du gar nicht willst.
HAVING ist nochmal ne andere Baustelle.
WHERE stellt Bedingungen an einzelne Tupel wohingegen HAVING Bedingungen an ganze Gruppen stellt (daher auch nur mit GROUP BY zu verwenden.
Grüße, Frederic