Zurück zur Artikelliste Artikel
11 Leseminuten

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

Dies ist der zweite Teil meiner Liste der wichtigsten SQL-Begriffe für Anfänger. Im ersten Teil haben Sie gelernt, was eine Tabelle, eine relationale Datenbank und eine Abfrage sind. Jetzt ist es Zeit für fortgeschrittenere Datenbankbegriffe. Aber keine Angst! Ich werde Sie nicht mit wissenschaftlichen Definitionen erdrücken. Ich werde alles so einfach erklären, dass Sie es leicht verstehen können.

Wenn Sie die grundlegenden SQL-Begriffe nachlesen möchten, lesen Sie meinen früheren Artikel SQL-Begriffe, die Anfänger kennen sollten. Vergessen Sie nicht, diesen Artikel als Lesezeichen zu speichern. Er wird Ihnen eine nützliche Informationsquelle sein.

Hier sind einige weitere SQL-Begriffe, die Sie kennen sollten.

SQL-Begriffe

Alias

Ein Alias ist ein Name, den wir für eine bestimmte Spalte oder Tabelle in einer SQL-Abfrage definieren können. Normalerweise verwenden wir Aliasnamen, um uns das Leben zu erleichtern: um einen besser lesbaren Spaltennamen anzuzeigen oder einen langen Tabellennamen zu verkürzen.

Unsere Tabelle könnte einen praktischen Namen haben wie order. Aber was ist, wenn unsere Tabelle den Namen orders_january_2020_shipped? Was ist, wenn sie noch länger und komplizierter ist?

Es wäre unpraktisch, jedes Mal den vollen Tabellennamen auszuschreiben, wenn wir uns auf die Tabelle beziehen. Um zum Beispiel auf die Spalte confirmed_payment in der oben erwähnten Tabelle zu verweisen, müssten wir orders_january_2020_shipped.confirmed_payment eingeben.

Sie können jedoch die AS-Klausel verwenden, um einen Alias zu definieren, wie in diesem Fall, j, für orders_january_2020_shipped. Jetzt wird es einfacher sein, bereits bezahlte Bestellungen anzugeben: j.confirmed_payment.

Sie können auch einen Alias verwenden, wenn Sie eine lange, komplexe SQL-Abfrage schreiben. Sie können zum Beispiel Folgendes in Ihre Abfrage einfügen: j.confirmed_payment AS jcp. Für den Rest der Abfrage können Sie nun einfach jcp statt j.confirmed_payment verwenden.

Achten Sie aber darauf, dass Sie sich nicht in diesen Namen verlieren.

Okay, ich habe Sie vielleicht ein wenig verwirrt. Lassen Sie mich Ihnen anhand eines Beispiels zeigen, was ich meine.

SELECT column as c
FROM table as t
WHERE t.c = "something";

Denken Sie daran, dass ein Alias nur für die Dauer der Abfrage existiert. Wenn Sie später eine andere, separate Abfrage schreiben, können Sie die Spalten oder Tabellen anders benennen.

Aliase in SQL sind sehr praktisch, und es lohnt sich, sie zu kennen. Sie werden sie wahrscheinlich am meisten zu schätzen wissen, wenn Sie mit SQL-JOINs arbeiten.

Null

NULL bedeutet, dass der Datenwert in einer bestimmten Tabellenzelle fehlt oder unbekannt ist. Es ist wichtig zu verstehen, was NULL ist und wann es verwendet wird. Ohne ein gutes Verständnis von NULL wird es Ihnen schwer fallen, mit Datenbanken zu arbeiten.

Zunächst etwas, das Sie sich unbedingt merken müssen: NULL ist nicht 0, und es bedeutet nicht leer! NULL tritt auf, wenn der Wert in einer bestimmten Tabellenzelle unbekannt oder unbestimmt ist.

NULL values kann auf jeden Datentyp angewandt werden: Ganzzahlen, Datumsangaben, VARCHAR-Werte oder jede andere Art von Daten. Bei der Verwendung von NULL müssen wir jedoch vorsichtig sein. Bei der Verwendung von Vergleichsoperationen, einschließlich der NULL Operatoren, wird das Ergebnis immer NULL sein.

Beim Lernen über NULL kommt das Thema der dreiwertigen Logik auf. Möchten Sie wissen, was das ist? Lesen Sie den Artikel Understanding the Use of NULL in SQL Three-Valued Logic, um mehr zu erfahren.

Join

JOIN ist ein SQL-Operator, mit dem Sie Daten aus zwei oder mehr Tabellen kombinieren können. In der Regel werden dabei Zeilen mit gleichen Werten für bestimmte Spalten miteinander verknüpft. Wenn Sie bereits wissen, was Primär- und Fremdschlüssel sind, ist die Funktion JOIN etwas, das sie miteinander verbindet.

Verschiedene JOIN Typen liefern unterschiedliche Ergebnisse. Hier sind einige JOIN Typen:

  • Inner JOIN gibt alle Zeilen, die der angegebenen Bedingung entsprechen, aus beiden Tabellen zurück.
  • Left JOIN gibt alle Zeilen aus der linken Tabelle mit übereinstimmenden Werten aus der rechten Tabelle zurück. Wenn eine der Zeilen keine übereinstimmenden Werte in der rechten Tabelle hat, wird NULL angezeigt.
  • Right JOIN liefert das gleiche Ergebnis wie oben, nur andersherum. Das Ergebnis sind alle Zeilen in der rechten Tabelle mit übereinstimmenden Werten aus der linken Tabelle sowie NULL, wenn es keine Übereinstimmung gibt.
  • Full JOIN gibt alle Zeilen aus beiden Tabellen zurück.
  • Cross JOIN gibt alle Kombinationen von Zeilen aus beiden Tabellen zurück. Hier finden Sie eine illustrierte Anleitung für den SQL Cross JOIN.

Hier sind andere Anwendungsfälle für JOIN:

Wenn Sie mehr über die Verknüpfung von Tabellen erfahren und üben möchten, besuchen Sie unseren interaktiven SQL-JOINs Kurs. Wir haben auch ein tolles SQL JOIN Cheat Sheet. Speichern Sie es in Ihrem Browser. Sie werden immer wieder darauf zurückkommen.

Primärschlüssel

Nicht alle Spalten haben die gleiche Funktion. Einige Spalten sind primäre Bezeichner für die betreffende Tabelle: Sie haben in jeder Zeile einen anderen Wert. Diese Spalte wird Primärschlüssel genannt.

Ein Primärschlüssel wird zur Identifizierung von Zeilen verwendet, und die Einzigartigkeit eines bestimmten Datensatzes stellt sicher, dass keine Duplikate in der Tabelle erscheinen. Wenn Sie versuchen, eine neue Zeile mit einem doppelten Wert in der Primärschlüsselspalte einzufügen, wird diese Zeile von der Datenbank zurückgewiesen.

Stellen Sie sich zum Beispiel die orders Tabelle vor. Höchstwahrscheinlich wird sie Spalten wie product, customer, purchase_date, usw. haben. Um jedoch alles klarer und einfacher zu machen, ist es hilfreich, eine Spalte order_id zu haben. Jede Zeile wird ihre eigene eindeutige ID haben. Dies wird Ihr Primärschlüssel sein.

Dies ist sehr wichtig! Keine Zelle in der Primärschlüsselspalte darf leer sein. Diese Spalte darf auch keine NULL Werte enthalten. Zur Auffrischung der Informationen über NULL lesen Sie bitte den obigen Abschnitt.

Für die orders Tabelle wird eine Zeile mit einem NULL-Wert in der Spalte order_id von der Datenbank zurückgewiesen. Mit anderen Worten: Primärschlüssel stellen sicher, dass alle Zeilen in der Tabelle eindeutige und nicht-null Werte in der Primärschlüsselspalte haben. Einfach ausgedrückt: Wäre es anders, würden höchstwahrscheinlich nicht alle Bestellungen bei Ihren Kunden landen.

Möchten Sie mehr über Primärschlüssel erfahren? Lesen Sie Was ist ein Primärschlüssel in SQL? Dieser großartige Artikel enthält fast alles, was Sie zu diesem Thema wissen müssen.

Fremdschlüssel

Dies ist eines dieser Konzepte, die schwierig und abstrakt erscheinen, aber eigentlich ganz einfach sind. Fremdschlüssel sind ein zentrales Konzept in SQL-Datenbanken. Sie helfen uns bei der Wahrung der Datenintegrität und arbeiten in der Regel mit Primärschlüsseln zusammen, um JOIN zwei Tabellen zu verbinden.

Stellen Sie sich zwei Tabellen vor: product und customers. Beide werden höchstwahrscheinlich die Spalte product_id haben, die wir verwenden können, um das Produkt mit einer bestimmten Person zu verbinden, die es bestellt hat. In der zweiten Tabelle bezeichnen wir diese Spalte als Fremdschlüssel. Der Fremdschlüssel prüft, ob die übergeordnete Tabelle (die Tabelle mit dem Primärschlüssel) einen solchen Wert enthält.

Möchten Sie mehr über die Fremdschlüssel erfahren? Ich empfehle What is a Foreign Key in SQL? von meinem Kollegen Ignacio.

Wenn Sie Fremdschlüssel durch das Erstellen von Tabellen und deren Struktur beherrschen wollen, empfehle ich Ihnen die interaktiven SQL-Kurse in Creating Database Structure. Diese fünf Kurse enthalten insgesamt über 330 Übungen. Wenn Sie eine Karriere als Dateningenieur in Betracht ziehen, ist dies genau das Richtige für Sie.

SQL-Beschränkung

Sie wissen bereits, dass Tabellen in relationalen Datenbanken eine bestimmte Struktur haben müssen. Es kann jedoch vorkommen, dass Sie bestimmten Spalten zusätzliche Einschränkungen hinzufügen müssen.

Zum Beispiel, in der Tabelle Ihrer Firma customer können die Spalten first_name, last_name und client_id nicht leer sein. Außerdem muss die Spalte email_adress eindeutige Werte haben. In diesem Fall sind SQL-Einschränkungen sehr nützlich.

  • Not Null stellt sicher, dass keiner der Spaltenwerte leer ist (d.h. er kann keinen NULL Wert enthalten).
  • Eindeutig stellt sicher, dass die Spalte keine doppelten Werte enthält (d. h. alle Werte in der Spalte müssen eindeutig sein).
  • Primärschlüssel stellt sicher, dass jeder Spaltenwert jede Zeile in der Tabelle eindeutig identifiziert.
  • Foreign Key stellt sicher, dass eine Spalte mit einem Primärschlüssel einer Spalte in einer anderen Tabelle verknüpft ist.
  • Check prüft die nachfolgende Bedingung.
  • Standard stellt sicher, dass die Spalte einen Standardwert enthält. Dieser Wert wird verwendet, wenn der Benutzer keinen Wert in die Spalte eingibt.

Dank der SQL-Beschränkungen enthalten Ihre Tabellen korrekte Daten, die später leichter zu analysieren sind. Weitere Informationen und Beispiele für die Verwendung von SQL-Beschränkungen finden Sie unter Was ist eine SQL-Beschränkung?

Unterabfrage

Eine Subquery ist im Grunde eine SQL-Abfrage innerhalb einer anderen SQL-Abfrage. Anstatt Ihr Projekt in viele kleine Elemente zu zerlegen, können Sie eine einzige logische SQL-Abfrage schreiben, um die Aufgabe zu erledigen.

Die Leistungsfähigkeit von Subqueries wird unterschätzt. Viele Benutzer haben Angst vor der Verwendung von Subqueries, obwohl sie einfach und hilfreich sind.

Es gibt mehrere Arten von SQL-Unterabfragen:

  • Skalare Unterabfragen geben einen einzigen Wert oder genau eine Zeile und genau eine Spalte zurück. Sie werden am häufigsten in WHERE Klauseln gefunden, wo sie helfen, die Ergebnisse der Hauptabfrage zu filtern.
  • Mehrzeilige Unterabfragen geben eine Spalte und mehrere Zeilen zurück. Sie werden normalerweise mit Operatoren wie IN, NOT IN, ANY, ALL, EXISTS oder NOT EXISTS verwendet.
  • Korrelierte Unterabfragen sind interessant. Die innere Abfrage stützt sich auf Informationen, die von der äußeren Abfrage stammen.

Es gibt viele Kombinationen von und Möglichkeiten für Unterabfragen. Möchten Sie mehr darüber erfahren? Sehen Sie sich den Beginner's Guide to the SQL Subquery von meinem Kollegen Ignacio an. Wenn Sie mehr über die verschiedenen Arten von Unterabfragen erfahren möchten, lesen Sie Was sind die verschiedenen Typen von SQL-Unterabfragen?

Ich kann SQL-Unterabfragen in so wenigen Worten nicht gut erklären. Bitte nehmen Sie sich die Zeit, sie gut zu lernen. Sie können dies mit unserem SQL für Anfänger Kurs. Sie können sich auch Clips auf unserem YouTube-Kanal We Learn SQL ansehen, in denen mein Freund Adrian Ihnen alles über SQL-Subqueries erklärt. Vergessen Sie nicht, den Kanal zu abonnieren und ihm einen Daumen hoch zu geben!

Datenbank-Tools

Ich gehe davon aus, dass Sie manchmal auf Begriffe stoßen werden, die sich auf Lösungen und Tools für die Arbeit mit Datenbanken beziehen. Ich habe drei wichtige davon ausgewählt, um sie zu erläutern.

MS SQL-Server

MS SQL-Server

Im vorigen Artikel habe ich Ihnen von DBMS erzählt. Wenn Sie nicht mehr wissen, was das ist, können Sie es nachlesen. Kurz gesagt, handelt es sich um ein Programm für die Arbeit mit Datenbanken.

Eines der beliebtesten DBMS der Welt ist MS SQL Server. Sein größter Nachteil ist, dass die Vollversion kostenpflichtig ist.

SQL Server 2019, mit dem Codenamen Aris, ist die 15. und neueste Ausgabe dieses Tools. Die erste Ausgabe wurde 1989 eingeführt. Es ist das Flaggschiff, aber nicht das einzige Datenbank-Tool des IT-Riesen aus Redmond.

MS SQL Server basiert auf Transact-SQL (T-SQL), einer Erweiterung des ANSI/ISO-Standards. T-SQL ist Standard-SQL, in dem einige Dinge etwas anders definiert sind.

Aus der Sicht des gelegentlichen Benutzers gibt es keine großen Unterschiede. Wenn Sie den SQL-Standard beherrschen, können Sie T-SQL genauso gut verwenden. Sie können die Unterschiede in der Dokumentation nachlesen.

Wenn Sie sofort lernen möchten, wie man SQL-Abfragen in MS SQL Server schreibt, empfehle ich Ihnen diesen interaktiven Kurs SQL für Anfänger in MS SQL Server. Sie lernen die notwendigen Grundlagen und beherrschen die Syntax so weit, dass Sie anhand von 131 Übungen Ihre eigenen Abfragen schreiben können.

Sie sind nicht überzeugt, ein DBMS zu verwenden, und haben noch Probleme mit der Datenverarbeitung in Excel? Kein Problem mit diesem Programm. Es ist ein leistungsfähiges Multitasking-Programm. Aber es hat seine Grenzen. Warum also nicht MS SQL Server verwenden? Mein Kollege Roman beantwortet diese Frage in seinem Artikel Microsoft SQL Server Pro und Contra.

PostgreSQL

PostgreSQL

PostgreSQL, auch Postgres genannt, ist ein weiteres großartiges DBMS-Tool. In meinen Artikeln habe ich wiederholt zugegeben, dass dies mein Favorit ist. Und warum? Erstens ist es quelloffen, das heißt, es ist kostenlos.

Zweitens hat es eine riesige Gemeinschaft hinter sich. Engagierte Entwickler aus aller Welt fügen täglich neue Erweiterungen und Patches hinzu. Dies ist eine der aktivsten IT-Gemeinschaften im Internet. Sie können sicher sein, dass Ihnen jemand helfen wird, wenn Sie Probleme haben.

Aber Sie müssen sich nicht auf mein Wort verlassen. Sehen Sie, wer PostgreSQL einsetzt, indem Sie Which Major Companies Use PostgreSQL? Wofür verwenden sie es?

Sie können PostgreSQL problemlos in jedem Projekt verwenden, das mit relationalen Datenbanken arbeitet. Im Ernst, es ist ein brillantes Werkzeug.

Wenn Sie völlig unerfahren sind, beginnen Sie mit SQL für Anfänger in PostgreSQL. Sie werden die notwendigen Grundlagen lernen, um mit PostgreSQL zu arbeiten. Dann empfehle ich den SQL-Praxis in PostgreSQL Kurs. Er wird Ihnen vor dem Vorstellungsgespräch, vor der Prüfung oder einfach, wenn Sie PostgreSQL wiederholen möchten, sehr nützlich sein.

PostGIS

PostGIS

Eine der interessantesten PostgreSQL-Erweiterungen ist PostGIS. Dabei handelt es sich um ein Add-on, mit dem Sie geografische Daten in PostgreSQL speichern und verarbeiten können.

Geografische Datensätze (wie Koordinaten für Punkte auf einer Karte oder Grenzen von Gebieten) können riesig sein. Oft handelt es sich um Terabytes an Daten, die sonst nur schwer zugänglich wären.

Dank PostGIS kann dies ganz einfach und vor allem schnell geschehen. Was normalerweise Stunden dauern würde, kann jetzt nur noch Sekunden dauern.

Möchten Sie ein Beispiel für eine Website, die PostGIS verwendet? OpenStreetMap ist eines davon.

Wenn Ihnen das wie schwarze Magie vorkommt, empfehle ich Ihnen diesen PostGIS-Kurs. Er ist einer der besten Kurse dieser Art auf dem Markt. Er war unser Kurs des Monats auf LearnSQL.de, und ich habe mit seiner Mitgestalterin, Agnieszka Kozubek-Krycuń, die Chief Content Officer bei Vertabelo ist, darüber gesprochen.