Allgemeine Form des SQL Befehls
SELECT spalte1, spalte2, … FROM tabellen_name WHERE bedingung;
Sortieren:
Format: SELECT spalte1, spalte2, … FROM tabellen_name ORDER BY spalten_name;
Beispiel: SELECT Nachname, Vorname FROM Mitarbeiter ORDER BY Nachname;
Zeigt die Inhalte der Spalten “Nachname” und “Vorname” sortiert nach “Nachnamen” in aufsteigender Reihenfolge.
Abnehmend sortieren:
Format: SELECT spalte1, spalte2, … FROM tabellen_name ORDER BY spalten_name DESC;
Beispiel: SELECT Nachname, Vorname FROM Mitarbeiter ORDER BY Nachname DESC;
Zeigt die Inhalte der Spalten “Nachname” und “Vorname” sortiert nach “Nachname” in absteigender Reihenfolge
Datensätze gruppieren:
Format: SELECT spalten_name FROM tabellen_name GROUP BY spalten_name;
Beispiel: SELECT Titel FROM Mitarbeiter GROUP BY Titel;
Zeigt zusammengefasst alle Titel an
Komplexere SQL Abfragen
Den höchsten Wert einer Spalte ermitteln:
Format: SELECT MAX(spalten_name) AS spalten_name FROM tabellen_name;
Beispiel: SELECT MAX(Gehalt) AS Gehalt FROM Mitarbeiter;
Zeigt das höchste Gehalt an
Durchschnitt einer Gruppe ermitteln:
Format: SELECT spalten_name, AVG(spalten_name) FROM tabellen_name GROUP BY spalten_name;
Beispiel: SELECT Position, AVG(Gehalt) FROM Mitarbeiter GROUP BY Position;
Zeigt die durchschnittlichen Gehälter der einzelnen Ränge an.
Einschränken eines gruppierten Datensatzes:
Format: SELECT spalten_name, AVG(spalten_name) FROM tabellen_name GROUP BY spalten_name HAVING AVG(spalten_name) bedingung;
Beispiel: SELECT Position, AVG(Gehalt) FROM Mitarbeiter GROUP BY Position HAVING AVG(Gehalt) > 2500;
Zeigt Position und das durchschnittliche Gehalt an. Die Datensätze sind nach Position gruppiert und benötigen einen Durchschnitt von mindestens 2500.
Verknüpfte Abfragen über zwei Tabellen:
SELECT * FROM tabelle1 INNER JOIN tabelle2 ON tabelle1.nachname=tabelle2.nachname;
Es werden alle Paare (zeile1,zeile2) von Zeilen gebildet, wobei zeile1 aus “tabelle1” und zeile2 aus “tabelle2” stammt. Stimmt der Eintrag von zeile1 in der Spalte “nachname” mit dem Eintrag von zeile2 in der Spalte “nachname” überein, so wird das Paar als Zeile in eine neue Tabelle übernommen. Die so entstandene Tabelle wird ausgegeben.
Ersetzt man in dieser Abfrage “INNER” durch “LEFT”, so werden darüber hinaus alle Zeilen aus “tabelle1” angezeigt, zu denen kein passender Eintrag in “tabelle2” existiert. Analog kann man “INNER” durch “RIGHT” ersetzen, und durch “OUTER” erhält man aus beiden ursprünglichen Tabellen die Zeilen, die keinen Partner haben.
Anzahl der Datensätze einer MySQL Tabelle ermitteln
SELECT COUNT(*) FROM Mitarbeiter;
Zeigt die Anzahl der in der Tabelle “Mitarbeiter” enthaltenen Datensätze an.
Die Datensätze einer MySQL Tabelle nach einem Text durchsuchen
Format: SELECT * FROM table WHERE field LIKE ‘%suchtext%’;
Beispiel: SELECT * FROM Mitarbeiter WHERE nachname LIKE ‘%ue%’;
Durchsucht in den die Datensätze der Tabellen “Mitarbeiter” nach dem Nachnamen die ein “UE” enthalten.