SQL Anfragen Flashcards
Generelle Form von Anfragen
select A1, ..., An from R1, ..., Rn where P A = Attribute R = Relationen P = Prädikat
Anfrage “select A from R1, R2 where P” in Relationenalgebra
pi A (sigma P (R1 x R2))
- > Kreuzen von Relationen R1 & R2
- > Selektion auf Prädikat
- > Ausgeben von bestimmtem Attribut
Formuliereung für Prädikatzeile “where”
where prädikatname = “prädikat”;
Ausgeben von allen Tabellenspalten
select *
Ist Ausgabe ohne Projektion möglich? Wie?
Über “select A from R;”
Limitierung der Selektion ohne Projektion
select A from R limit n;
wobei n = Anzahl d. ausgegebenen Zeilen
Limitierung der Stringlänge eines Attributs einer Selektion ohne Projektion
select substring (attributname, n, j) from R; wobei n = beginnendes Zeichen (ab 1) und j = Länge d. Substring
Sortieren der Ausgabe einer Selektion ohne Projektion (+Reihenfolge umkehren)
select A1, A2 from R order by A1;
select A1, A2 from R oder by A1 desc;
Kreuzprodukt zweier ganzer Tabellen
select * from R1, R2;
Selektion des Kreuzproduktes zweier Tabellen auf identische Attribute
select * from R1, R2
where R1.attributname = R1.attributname;
Auf mehrere Prädikate filtern
select A
from R1, R2
where P1 and P2;
Was muss beim Joinen mehrer Tabbellen gemacht werden?
Bei n Tabellen muss auf n-1 identische Attribute selektiert werden (Verknüpfung in Prädikat mit “and”)
Join über Befehl “join … using …”? Was ist Vorraussetzung?
select A
from R1 join R2
using (attributname);
Vorraussetzung: attributname ist identisch
Join über Befehl “natural join”?
select A
from R1 natural join R2
Was macht natural join? Vorraussetzung?
Joint Tabellen anhand von identischem Attribut
Vorraussetzung: attributname ist identisch
Gleichheiten von Prädikaten überprüfen
über = / > / >=
auch bei Strings
Boolsches Vergleichen von Prädikaten
über not / or / and
Komplexe Textvergleiche von Prädikaten
über like / regexp