Show Menu
Cheatography

SQL-TSAALEN 3.Lehrjahr Cheat Sheet (DRAFT) by

SQL Anweisungen die im dritten Lehrjahr behandelt werden.

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Funktionen

AVG(Feldname)
Gibt den Mittelwert von Werten in einem bestimmten Feld aus
MAX(Feldname)
Gibt den größten Wert einer Menge aus Werten aus
MIN(Feldname)
Gibt den kleinsten Wert einer Menge aus
SUM(Feldname)
Gibt die Summe einer Menge von Zahlen aus
Count(Feldname)
Gibt die Zahl der Datensätze aus
YEAR(Feldname)
Gibt die Jahreszahl eines Datums aus
CURDATE()
Gibt das aktuelle Datum aus

HAVING

SELECT Auswah­lliste
FROM Tabell­enliste
GROUP BY Gruppe­nliste
[HAVING Suchbe­din­gungen]

Die HAVING­-Kl­ausel erfüllt auf Gruppe­nebene die gleiche Aufgabe wie die WHERE-­Klausel für die
gesamte Auswah­lliste der SELECT­-An­weisung und legt somit eine Suchbe­dingung für eine Gruppe
oder ein Aggregat fest.
Sprich, nachdem du mit deinen Anweis­ungen einen geordneten Table hast kannst du mit Having diesen nochmal durchs­uchen oder filtern.

Hinweis: Die WHERE-­Klausel wird vor der HAVING­-Kl­ausel bearbe­itet. D.h. Datensätze die der
WHERE-­Bed­ingung nicht entspr­echen werden erst gar nicht gruppiert.
In der HAVING­-Kl­ausel werden weitere Beding­ungen auf Gruppe­nebene hinzug­efügt.
 

SELECTS

ORDER BY <Fe­ldn­ame>
Die ORDER BY-Klausel bestimmt die Kriterien der Zeilen­sor­tierung bei Abfrag­eer­geb­nissen. Ohne Zusatz­angabe wird standa­rdmäßig eine aufste­igende Reihen­folge (ASC/ 1234) angezeigt. Möchten Sie eine abstei­gende Reihen­folge (DESC/4 3 2 1) so können Sie dies durch die Angabe von "­DES­C" hinter dem entspr­ech­enden Attribut erzielen
Beispiel
SELECT * FROM Mitarb­eiter WHERE Entfernung > 15 ORDER BY Wohnort
Zusatz
Die ORDER BY-Kla­usel:
• Wird nach der WHERE-­Klausel geschr­ieben
•kann Ausdrücke von Spalte­nwerten enthalten
• kann die Spalte­n-F­olg­enummer enthalten
• kann ein mehrfach versch­ach­teltes Kriterium enthalten
• Priorität gilt von links nach rechts
Beispiele:
ORDER BY Job, Vorname DESC

Union / Intersect

Verein­igung (UNION)
Wegen einer Werbea­ktion sollen sowohl Kunden als auch
Liefer­anten angesc­hrieben werden. Dies soll durch einen
einzigen Zugriff auf die Datenbank realisiert werden.
Somit ist es notwendig, die Relation "­Kun­de" mit der
Relation "­Lie­fer­ant­" zu verein­igen.
Dies ist möglich durch das Schlüs­selwort "­UNI­ON", mit
dem zwei oder mehr Tabellen oder Abfragen kombiniert
werden können. D.h. "­UNI­ON" gibt die Ergebnisse zweier
Abfragen abzüglich der doppelt vorkom­menden Zeilen
zurück
Beispiel:
SELECT Name, Anrede, Straße, PLZ, Wohnort AS Ort
FROM Kunde
UNION
SELECT Firmenname AS Name, Anspre­chp­artner, Straße, PLZ, Ort
FROM Lieferant;

Beding­ungen: Die Spalten der einzelnen Hauptteile müssen mitein­ander verträ­glich sein
(z.B. nicht Zeiche­nkette versus Zahlen­wert).
Mehrfache Datensätze werden automa­tisch entfernt ("DI­STI­NCT­" ist Standa­rde­ins­tel­lung). Dies
kann umgangen werden mit "... UNION ALL ..."). Dann werden gleiche Datensätze (Tupel) nicht entfernt.

Schnit­tmenge (INTER­SECT)

Der Operator INTERSECT gibt nur die Zeilen zurück,
die aus beiden Abfragen stammen.
Hiermit kann man z.B. ermitteln welche Adressen
sowohl in der Kunden als auch in der Adress­tabelle
existi­eren.
 

IN / Between

Operator IN

Mit dem Operator IN lässt sich die Bedingung der WHERE-­Klausel auch in Form einer Liste
formul­ieren.
Beispiele:
WHERE Art IN ('Renn­rad', 'Toure­nrad')
WHERE Ort IN ('Ulm', 'Biber­ach')

Operator BETWEEN
Mit dieser Bereic­hsb­edi­ngung in der WHERE-­Klausel lassen sich alle Zeilen abrufen, deren
Spalte­nwerte in einem bestimmten Bereich (inkl. der Ober- und Unterg­renze) liegen.
Beispiele:
WHERE PLZ BETWEEN 86000 AND 86999
WHERE Anscha­ffu­ngs­preis BETWEEN 1000 AND 2000

REGEXP