Sonntag, 27. Februar 2011

Spezielle SQL-Befehle

SQL besteht aus mehr als nur

select byvariablen, gruppierungsfunktionen
from tabelle as a , tabelle as b
where zeilenbedingung
group by byvariablen
oder by sortiervariablen
having gruppenbedingung

Es gibt noch spannende Zusatzfunktionen für Tabellen "nebeneinander(horizontal)" wie:
inner join : Schnittmenge
left join: Links ganz, Rechts Schnittmenge
right join: Links Schnittmenge, Rechts ganz
fulljoin: Kartesisches Produkt mit Where eingeschränkt.

Aber auch Untereinander(vertikal) :
intersect: Schnittmenge der Zeilen, aber jeder Satz nur einmal
except: "Minus" der Menge
union: Vereinigungsmenge, Aber jede Zeile nur einmal
outer union: Vereinigungsmenge, jede Zeile, sooft sie da war

Wichtig bei den Vertikalfunktionen:
  • Es können beliebig viele aneinandergekettet werden. Logiktrennung mit Klammern ()
  • Die Spaltenreihenfolge muss stimmen. Also Vorsicht mit select*, da sitzt schon mal die Suhgröße unter dem Preis....