Bist du schon über eine Klausel mit "WITH" gestolpert? Die Klausel "WITH" soll komplexe Queries organisieren sowie die einzelne Abschnitte lesbarer machen und ist dementsprechend anders strukturiert als die Queries in der Tabellenübersicht.
Syntax:
WITH query_name(column_name1...) AS
(SELECT....)
SELECT...
Beispiel einer Abfrage:
Finde alle Namen, die mehr verdienen als das Durchschnittsgehalt.
WITH temporaryTable(averageValue) AS
(SELECT avg(Salary)
FROM originalTablename)
SELECT Id, Name, Salary
FROM originalTablename, temporaryTable
WHERE originalTablename.Salary > temporaryTable.averageValue
Auf WITH folgt SELECT!
Betrachte alles was im Zusammenhang mit WITH steht als temporäre Ansicht. Dies wird nirgends dauerhaft in einer Datenbank gespeichert.
WITH temporaryTable(averageValue) AS
(SELECT avg(Salary)
FROM originalTablename)
SELECT Id, Name, Salary
FROM originalTablename, temporaryTable
WHERE originalTablename.Salary > temporaryTable.averageValue
TemporaryTable = freiwählbarer Tabellenname
averageValue = freiwählbarer Spaltenname
Header: istock/solarseven