Zurück zur Artikelliste Artikel
7 Leseminuten

SQL-Begriffe, die Anfänger kennen sollten - Teil 4

Hier ist er - ein weiterer Stapel von SQL-Begriffen, die man kennen muss. In den ersten beiden Teilen haben wir uns mit Tabellen, relationalen Datenbanken, Abfragen, Aliasen, SQL-JOINs, Primärschlüsseln und Unterabfragen beschäftigt. Beim letzten Mal sind wir zu fortgeschritteneren Begriffen wie INSERT INTO, GROUP BY und HAVING übergegangen. Sind Sie bereit, tiefer in die SQL-Terminologie einzutauchen?

Dies ist der vierte Teil unserer Serie über grundlegende SQL-Begriffe für Anfänger (und alle anderen). Keine Sorge, wenn Sie die vorherigen Artikel verpasst haben: Sie finden Teil 1 (grundlegende SQL-Begriffe), Teil 2 und Teil 3 in unserem Blog.

Zögern Sie nicht, zu früheren Artikeln zurückzukehren, auch wenn Sie sie bereits gelesen haben. Je öfter Sie diese Informationen wiederholen, desto besser werden Sie sie behalten. Lernen Sie also weitere SQL-Begriffe, die Sie kennen sollten.

Noch mehr SQL-Begriffe für Einsteiger!

CASE

Die Anweisung CASE durchläuft mehrere Bedingungen und gibt einen Wert zurück, wenn die erste Bedingung erfüllt ist. Sobald die Bedingung erfüllt ist, gibt CASE das Ergebnis zurück und hört auf. Wenn keine der Bedingungen erfüllt ist, wird der Wert aus der ELSE Klausel zurückgegeben. Wenn es keine ELSE Klausel gibt und keine Bedingung erfüllt ist, wird NULL zurückgegeben.

CASE kann in SELECT-Anweisungen mit den WHERE-, ORDER BY- und GROUP BY-Klauseln verwendet werden. Sie funktioniert auch mit der Anweisung INSERT.

Die case-Anweisung in SQL kann auf zwei Arten verwendet werden: Zuweisung eines Ergebnisses an einen Wert oder Berechnung eines Ergebnisses aus logischen Ausdrücken. Mehr darüber erfahren Sie in unserem Artikel über die Verwendung von CASE mit der Funktion SUMME().

CTE / WITH-Klauseln

CTE ist die Abkürzung für Common Table Expression (Gemeinsamer Tabellenausdruck); sie wird auch WITH-Klausel oder benannte WITH-Klausel genannt. Das liegt daran, dass alle CTEs mit dem Schlüsselwort WITH eingeleitet werden.

CTEs wurden erstmals in SQL:1999 eingeführt und 2005 in SQL Server übernommen. Das Wichtigste und Beste an CTEs ist, dass sie komplexe Abfragen vereinfachen und klarer machen.

Wenn Sie lernen, wie man CTEs verwendet, werden Sie sie in den meisten Fällen den Unterabfragen vorziehen. Und warum? Weil CTEs Ihre Abfragen besser lesbar machen, indem sie sie in kleinere Blöcke unterteilen.

Mit einer CTE definieren Sie eine temporäre benannte Ergebnismenge. Sie ist temporär, weil sie nirgendwo dauerhaft gespeichert wird. Sie existiert und ist bei der Ausführung der Anweisungen SELECT, INSERT, UPDATE, DELETE oder MERGE verfügbar; wenn die Anweisung ausgeführt wurde, wird die CTE verworfen.

Hier sind einige grundlegende CTE-Regeln:

  • Beginnen Sie mit dem Operator WITH.
  • Geben Sie den Namen an, den Sie für die CTE verwenden wollen. Optional können Sie auch die Spaltennamen angeben, getrennt durch Kommas.
  • Setzen Sie nach dem Ausdrucksnamen das AS
  • Schreiben Sie die Abfrage, die die gewünschte Ergebnismenge ergibt.

Die grundlegende Syntax der WITH Klausel sieht wie folgt aus:

WITH subquery1_name AS
(SELECT … subquery1...),
subquery2_name AS
(SELECT … subquery2...)
SELECT … main query ... 

Wie Sie im Syntaxbeispiel sehen, können Sie mehrere CTEs in einer Abfrage haben. Und diese CTEs können auf sich selbst oder auf andere CTEs in der Abfrage verweisen.

CTEs können rekursiv oder nicht rekursiv sein. Rekursive CTEs sind fortschrittlicher und erfordern den Zusatz des Schlüsselworts RECURSIVE. Sie ermöglichen es Ihnen, hierarchische Strukturen wie Stücklisten oder Organigramme zu durchlaufen.

Es gibt viele Möglichkeiten, CTEs zu verwenden. Sie können sie in unserem Leitfaden nachlesen. Dort finden Sie auch einige praktische Beispiele und erfahren mehr darüber, warum die WITH-Klausel sinnvoll ist.

DISTINCT

Selbst wenn Sie ein absoluter SQL-Anfänger sind, kennen Sie sich wahrscheinlich mit doppelten Daten aus. Das kommt vor, weil SQL-Abfragen alle zurückgegebenen Zeilen in der Ergebnismenge anzeigen, selbst wenn sie identisch sind. Zum Glück gibt es das Schlüsselwort DISTINCT, das alle doppelten Werte aus dem Ergebnis entfernt.

DISTINCT funktioniert mit SELECT und muss vor den angegebenen Spalten stehen. Es sieht wie folgt aus:

SELECT DISTINCT
  column_1,
  column_2,
  …,
  column_n
FROM table_name

Sie können DISTINCT mit einer oder mehreren Spalten verwenden. Denken Sie aber daran, dass SQL DISTINCT eher nach einer eindeutigen Zeile als nach einer eindeutigen Spalte sucht.

Dies ist nur ein Teil der Möglichkeiten, die DISTINCT bietet. Wenn Sie lernen wollen, wie Sie mehrere Spalten oder Aggregatfunktionen verwalten oder DISTINCT mit GROUP BY verwenden können, lesen Sie diesen Artikel. Sie können Ihr Wissen auch mit unserem vollständigen SQL-Lernprogramm von A bis Z vertiefen.

IDE

IDE steht für integrierte Entwicklungsumgebung. Sie wissen bereits, dass Sie eine Umgebung benötigen, in der Sie Ihre SQL-Abfragen schreiben können. Sicher, Sie können mit der Befehlszeile beginnen, aber schon bald werden Sie mehr brauchen als das.

Eine IDE vereint einen Code-Editor, einen Debugger, eine gewisse Automatisierung und im Grunde alles, was Sie brauchen, um bequem mit großen Datenbanken zu arbeiten. Vielleicht haben Sie schon von Oracle SQL Developer, My SQL Workbench oder DBeaver gehört? Dies sind alles IDEs.

Wenn Sie nicht sicher sind, welche SQL-IDE für Sie geeignet ist, sehen Sie sich unsere Liste der besten IDEs des Jahres 2021 an.

INTERSECT

Dies ist einer der Set-Operatoren von SQL. Mit INTERSECT können Sie zwei SELECT Anweisungen kombinieren. Im Gegenzug erhalten Sie Zeilen, die beiden SELECT-Anweisungen gemeinsam sind . INTERSECT erzeugt eine Schnittmenge der ausgewählten Anweisungen.

Werfen Sie einen Blick auf eine grundlegende INTERSECT Syntax:

SELECT column_1 [, column_2, …, column_n]
FROM table_1 [, table_2, …, table_n]
[WHERE condition]
 
INTERSECT
 
SELECT column_1 [, column_2, …, column_n]
FROM table_1 [, table_2, …, table_n]
[WHERE condition]

Wenn Sie INTERSECT verwenden möchten, müssen Sie ein paar Dinge beachten. Wenn Sie die SELECT Abfragen schreiben, müssen die Anzahl und die Reihenfolge der Spalten gleich sein. Auch die Datentypen der Spalten müssen übereinstimmen oder zumindest kompatibel sein.

Mehr über INTERSECT erfahren Sie hier.

UNION

Sie haben bereits INTERSECT kennengelernt. Jetzt ist es Zeit für einen weiteren grundlegenden Mengenoperator: UNION. Dieser ist auch nützlich, wenn Sie zwei oder mehr Tabellen vergleichen wollen. Der Unterschied besteht darin, dass die UNION Anweisungen nur eindeutige Werte zurückgeben.

Angenommen, Sie haben zwei Tabellen mit den Lieblingsfilmen von zwei Personen. Mit UNION können Sie diese Tabellen zusammenführen und erhalten ein Ergebnis, das keine Duplikate enthält. (Wenn Sie jedoch wissen wollen, ob diese Personen dieselben Filme mögen, müssen Sie INTERSECT verwenden).

Ansicht

Ein View ist eine SQL-Anweisung, die benannt und in der Datenbank gespeichert wird. Mit anderen Worten, es ist wie das Speichern einer vordefinierten Abfrage; ein View speichert die Abfrage selbst, nicht die Ausgabe der Abfrage. Mehr über SQL-Views erfahren Sie in diesem Artikel.

Sie können einen View aus einer oder mehreren Tabellen erstellen. Er kann ausgewählte Zeilen aus einer Tabelle oder alle Zeilen enthalten. Die Art und Weise, wie der View die Daten strukturiert, ist sehr klar und intuitiv. Sie erhalten zusammengefasste Daten, die sehr nützlich sein können, z. B. um Berichte zu erstellen.

Anfängern erscheinen Ansichten und CTEs recht ähnlich. Wenn Sie wissen möchten, wann Sie beide verwenden sollten, lesen Sie diesen Artikel über den Unterschied zwischen CTEs und Views in SQL.

WHERE

WHERE ist eine der wichtigsten Klauseln in SQL. Sie ist fast so gebräuchlich wie SELECT.

WHERE Die WHERE-Klausel beschreibt grundsätzlich, wonach Sie in Ihrer Abfrage suchen. Sie können sie mit Zahlen oder Text verwenden, um einen Wert oder einen Wertebereich zurückzugeben. WHERE kann auch mit DELETE verwendet werden, um einige Daten zu entfernen oder mit UPDATE, um einen Datensatz zu ändern.

So sieht WHERE mit Zahlen aus:

SELECT *
FROM table
WHERE id = 2021

Und hier ist WHERE mit Text:

SELECT * 
FROM best_sailors 
WHERE FirstName = 'Yannick' AND LastName = 'Bestaven'

WHERE ist, wie Sie sehen können, ein sehr leistungsfähiges Werkzeug. Es gibt Ihnen viele Möglichkeiten bei der Arbeit mit Daten.

Fensterfunktionen

Fensterfunktionen sind ein weiteres großartiges Werkzeug für diejenigen, die ihre SQL-Kenntnisse verbessern möchten. Diese Funktionen führen Berechnungen über eine Reihe von Zeilen durch, die mit der aktuellen Zeile in Beziehung stehen. Das "Fenster" in Fensterfunktion kommt daher, dass dieser Satz von Zeilen als "Fenster" oder "Fensterrahmen" bezeichnet wird.

Mit Fensterfunktionen können Sie statistische Analysen durchführen, z. B. eine Rangfolge der Daten auf der Grundlage der meisten Verkäufe, die Berechnung laufender Umsatzsummen oder die Verwendung gleitender Durchschnitte zur Analyse der Leistung von Geschäften. Sie sind von unschätzbarem Wert, wenn Sie Daten im Zeitverlauf vergleichen und Trends verfolgen möchten.

Im Grunde genommen helfen die Fensterfunktionen bei allem, was in der Geschäftsanalyse wichtig ist. Wenn Sie einige einfache praktische Beispiele sehen möchten, lesen Sie unseren Artikel über die Verwendung von Fensterfunktionen. Wenn Sie wissen, dass Sie Fensterfunktionen brauchen werden, finden Sie hier einen großartigen interaktiven Fensterfunktionen Kurs.

Lesen, wiederholen, erinnern

Gut gemacht - Sie haben gerade Ihr Wissen über SQL-Begriffe erweitert! Aber Sie sind noch nicht fertig. Denken Sie daran: Je mehr Sie lesen, wiederholen und lernen, desto schneller werden Sie sicher in der Diskussion über SQL (und in der Anwendung).

Um Ihre SQL-Kenntnisse zu verbessern, sollten Sie die Online-Kurse von LearnSQL ausprobieren und regelmäßig unseren Blog besuchen. Und vergessen Sie nicht, unseren Newsletter zu abonnieren, damit Sie über neue Artikel und Sonderangebote informiert werden!

Gibt es SQL-Anweisungen oder Begriffe, die Sie gerne in diesen Artikeln sehen würden? Sagen Sie es uns in den Kommentaren. Vielleicht werden sie in unserer nächsten Zusammenstellung von SQL-Begriffen für Anfänger erscheinen. Bleiben Sie dran!