Hallo Daniela!
Postgres und DB2 (ich kenn nur die Mainframe-Version) können Sub-Queries absolut problemlos, ebenso Oracle. Oracle ist in sehr alten Versionen (afair <=7) etwas schwach was Joins angeht.
Aber so einfach LEFT JOINS der Art
SELECT p.id as id, p.preis as preis, w.name as name
FROM produkte as p
LEFT JOIN warengruppen as w
ON p.wgruppe = w.wgruppe
WHERE p.preis > 100
ORDER BY p.preis DESC
müssten die aktuelleren Versionen doch alle können, oder entdeckst Du darin auch einen fiesen MySQL-Dialekt? ;-)
Mal noch ne kleine Stufe komplizierter:
SELECT (SUM(p.preis * p.menge) * w.rabatt) as endpreis, w.wgruppe as warengruppe
FROM produkte as p
LEFT JOIN warengruppen as w
ON p.wgruppe = w.wgruppe
WHERE p.preis > 100
GROUP BY w.wgruppe, w.rabatt
ORDER BY p.preis DESC
Ist das immer noch "Standard genug"? Vielleicht fällt Dir ja spontan eine "Todsünde" auf ;-)
SUM() unterstützen AFAIK alle von mir genannten RDBMS. Allerdings bin ich mir nicht so sicher wie das ist bei GROUP BY und der Multiplikation mit aggregierten Werten, aber eigentlich sollte das doch funktionieren, bei MySQL z.B. gehts - was ja leider nicht viel heißt :-(
Da gab es eine eigene Syntax.
Wie für so vieles, z.B. Limitierungen...
MySQL verursacht sowieso nur Knoten in den Fingern und sollte ignoriert werden bis die wenigstens den Minimal-Level von SQL92 leidlich implementieren.
Naja, kommt immer drauf an womit man gelernt hat. Wenn man Features die woanders Standard sind nicht kennt, vermisst man sie am Anfang natürlich nicht. Ist jedenfalls alles andere als einfach portablen SQL-Code zu schreiben, vor allem wenn es dann etwas komplexer wird...
Eine nette Gegenüberstellung (wenn auch nicht in Tabellenform) ist in SQL in a Nutshell von O'Reilly drin.
Danke für den Tipp, werd ich mal demnächst nen Blick reinwerfen wenn ich in der Buchhandlung bin!
Viele Grüße und Danke für die Hinweise
Andreas
SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/