SQL-Kurzreferenz
Wichtige SQL-Befehle und Operationen
Hier ist ein prägnantes SQL-Handbuch mit wichtigen Befehlen und Operationen:
Daten abfragen
Bestimmte Spalten auswählen:
SELECT column1, column2 FROM table_name;
Alle Spalten auswählen:
SELECT * FROM table_name;
Eindeutige Werte auswählen:
SELECT DISTINCT column1, column2 FROM table_name;
Daten filtern:
SELECT column1, column2 FROM table_name WHERE condition;
Daten sortieren:
SELECT column1, column2 FROM table_name ORDER BY column1 [ASC|DESC];
Daten ändern
Eine Zeile einfügen:
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
Daten aktualisieren:
UPDATE table_name SET column1 = value1 WHERE condition;
Daten löschen:
DELETE FROM table_name WHERE condition;
Tabellenoperationen
Eine Tabelle erstellen:
CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
column3 datatype
);
Eine Tabelle ändern:
ALTER TABLE table_name ADD column_name datatype;
Eine Tabelle löschen:
DROP TABLE table_name;
Verknüpfungen (Joins)
Inner Join:
SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;
Left Join:
SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
Aggregationsfunktionen
Anzahl der Zeilen zählen:
SELECT COUNT(*) FROM table_name;
Werte summieren:
SELECT SUM(column_name) FROM table_name;
Durchschnittswerte berechnen:
SELECT AVG(column_name) FROM table_name;
Gruppieren:
SELECT column1, COUNT(*) FROM table_name GROUP BY column1;
Unterabfragen
Unterabfrage in SELECT:
SELECT column1, (SELECT AVG(column2) FROM table2) AS avg_col2 FROM table1;
Unterabfrage in WHERE:
SELECT * FROM table1 WHERE column1 IN (SELECT column2 FROM table2);
Sichten
Eine Sicht erstellen:
CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;
Eine Sicht löschen:
DROP VIEW view_name;
Dieses Handbuch umfasst die häufigsten SQL-Befehle und Operationen.
Es bietet eine schnelle Referenz für das Abfragen, Ändern von Daten, Tabellenoperationen, Verknüpfungen, Aggregationsfunktionen, Unterabfragen und Sichten.
Inner Join vs. Outer Join
INNER JOIN und LEFT JOIN sind zwei gängige Arten von SQL-Verknüpfungen, die sich darin unterscheiden, wie sie Daten aus mehreren Tabellen kombinieren:
-
INNER JOIN:
- Gibt nur die Zeilen zurück, bei denen es in beiden Tabellen aufgrund der Verknüpfungsbedingung eine Übereinstimmung gibt.
- Ausschließt alle Zeilen, die in der anderen Tabelle keine entsprechende Übereinstimmung haben.
- Nützlich, wenn man nur Daten abrufen möchte, die in beiden Tabellen vorhanden sind.
-
LEFT JOIN (auch LEFT OUTER JOIN):
- Gibt alle Zeilen aus der linken Tabelle und die übereinstimmenden Zeilen aus der rechten Tabelle zurück.
- Wenn in der rechten Tabelle keine Übereinstimmung vorhanden ist, wird dennoch die Zeile aus der linken Tabelle zurückgegeben und für die Spalten der rechten Tabelle werden NULL-Werte eingefügt.
- Nützlich, wenn man alle Datensätze aus der linken Tabelle sehen möchte, auch wenn sie in der rechten Tabelle keine entsprechenden Daten haben.
Wichtige Unterschiede:
-
Ergebnismenge:
- INNER JOIN: Gibt nur übereinstimmende Zeilen zurück.
- LEFT JOIN: Gibt alle Zeilen aus der linken Tabelle sowie übereinstimmende Zeilen aus der rechten Tabelle zurück.
-
NULL-Werte:
- INNER JOIN: Erzeugt keine NULL-Werte für nicht übereinstimmende Zeilen.
- LEFT JOIN: Erzeugt NULL-Werte für Spalten aus der rechten Tabelle, wenn keine Übereinstimmung vorhanden ist.
-
Anwendungsfälle:
- INNER JOIN: Wenn man Daten benötigt, die in beiden Tabellen vorhanden sind.
- LEFT JOIN: Wenn man alle Daten aus einer Tabelle und ggf. übereinstimmende Daten aus einer anderen Tabelle benötigt.
-
Datenvollständigkeit:
- INNER JOIN: Exkludiert Daten, wenn keine Übereinstimmung vorhanden ist.
- LEFT JOIN: Stellt sicher, dass alle Daten aus der linken Tabelle enthalten sind, was einen umfassenderen Überblick über die Daten der linken Tabelle bietet.
Das Verständnis dieser Unterschiede ermöglicht es Ihnen, den passenden Verknüpfungstyp basierend auf Ihren spezifischen Datenabfrageszenarien und Analysezwecken auszuwählen.