23rd Jun 2022 7 Leseminuten Aufzählung und Erläuterung aller grundlegenden Elemente einer SQL-Abfrage Kateryna Koidan SQL-Interviewfragen Inhaltsverzeichnis Grundlegende Elemente einer SQL-Abfrage SELECT FROM JOIN WHERE ORDER BY GRUPPE BY HAVING SQL-Abfrage-Syntax: Zusammenfassung "Was sind die grundlegenden Elemente einer SQL-Abfrage?" ist eine beliebte Frage in einem Vorstellungsgespräch. In diesem Artikel gehen wir auf die grundlegende Syntax einer SQL-Abfrage ein. Eine SQL-Abfrage, die Informationen aus einer relationalen Datenbank abfragt, besteht aus mehreren Elementen. Diese ermöglichen es Ihnen, bestimmte Spalten aus bestimmten Tabellen auszuwählen und diese Informationen bei Bedarf zu filtern und zu sortieren. In diesem Artikel gehe ich kurz auf diese Elemente ein, indem ich erkläre, was jedes Element bewirkt und wie man es verwendet. Grundlegende Elemente einer SQL-Abfrage SELECT Die Anweisung SELECT ist das erste, was Ihnen beim Erlernen von SQL begegnen wird. Mit der Anweisung SELECT wählen Sie die Spalten aus, die in der Ausgabe angezeigt werden sollen. Nehmen wir an, wir sind Datenanalysten im Louvre. Wir haben mehrere Tabellen in unserer Datenbank, darunter solche über artworks und artists. artworks idtitleartist_idyeartype 111The Mona Lisa121506painting 112Jean-Baptiste Poquelin (Moliere)141787sculpture 113The Wedding Feast at Cana111563painting 114The Lacemaker131670painting 115A River141759sculpture artists idnameyear_birthyear_death 11Paolo Veronese15281588 12Leonardo da Vinci14521519 13Johannes Vermeer16321675 14Jean-Jacques Caffieri17251792 Unsere erste Aufgabe besteht darin, einige grundlegende Informationen über die von uns ausgestellten Kunstwerke zu erhalten - insbesondere die title, das Jahr der Erstellung und die Art des Kunstwerks. Hier ist die Abfrage, mit der diese Informationen abgefragt werden: SELECT title, year, type FROM artworks; In der Anweisung SELECT listen wir einfach die Spalten auf, die wir sehen wollen. Hier ist die Ausgabe: titleyeartype The Mona Lisa1506painting Jean-Baptiste Poquelin (Moliere)1787sculpture The Wedding Feast at Cana1563painting The Lacemaker1670painting A River1759sculpture Weitere Beispiele für SELECT finden Sie in diesem Artikel über das Schreiben einer SELECT-Anweisung. Schauen Sie sich auch unseren SQL für Anfänger Kurs, um SQL interaktiv zu lernen. FROM Wie Sie in unserem ersten Beispiel gesehen haben, müssen Sie bei der Auswahl der anzuzeigenden Spalten auch die Tabelle angeben, in der diese Daten gespeichert sind. Dies geschieht mit dem Schlüsselwort FROM. Im obigen Beispiel haben wir Informationen über verschiedene Kunstwerke angefordert, die (wie erwartet) in der Tabelle artworks Tabelle gespeichert sind. Nun wollen wir einige grundlegende Informationen über die in unserem Museum vertretenen Künstler abrufen. Zu diesem Zweck fragen wir die Namen, Geburts- und Todesjahre der Künstler aus der Tabelle artists Tabelle ab: SELECT name, year_birth, year_death FROM artists; Hier ist die Ausgabe dieser SQL-Abfrage: nameyear_birthyear_death Paolo Veronese15281588 Leonardo da Vinci14521519 Johannes Vermeer16321675 Jean-Jacques Caffieri17251792 JOIN In vielen Fällen müssen Sie Daten aus mehreren Tabellen zusammenführen, um die gewünschte Ausgabe zu erhalten. Mit der Anweisung JOIN können Sie Informationen aus zwei oder mehr Tabellen in einer SQL-Abfrage abrufen. Nehmen wir zum Beispiel an, Sie möchten die Namen der Künstler zusammen mit ihren Werken sehen. Diese Informationen sind nicht in einer Tabelle verfügbar: Sie haben den Namen des Kunstwerks in den artworks Tabellen, während der Name des Künstlers in der artists Tabelle. Sie können diese beiden Informationen jedoch leicht über die ID-Nummer des Künstlers verknüpfen, die in beiden Tabellen gespeichert ist: SELECT artworks.title, artists.name FROM artworks JOIN artists ON artworks.artist_id = artists.id; Wir geben eine Tabelle in der Anweisung FROM und eine weitere Tabelle in der Anweisung JOIN an. Wir verwenden auch das Schlüsselwort ON, um der Datenbank mitzuteilen, welche Spaltenwerte abgeglichen werden sollen, um die Tabellen zu verbinden. Hier ist das Ergebnis: titlename The Mona LisaLeonardo da Vinci Jean-Baptiste Poquelin (Moliere)Jean-Jacques Caffieri The Wedding Feast at CanaPaolo Veronese The LacemakerJohannes Vermeer A RiverJean-Jacques Caffieri Um die verschiedenen Arten von Verknüpfungen in SQL zu verstehen, lesen Sie diesen einführenden Leitfaden. Schauen Sie sich auch unsere 10 besten Interviewfragen zu SQL-Joins an. Sie eignen sich hervorragend zum Üben (auch wenn Sie sich nicht auf ein Vorstellungsgespräch vorbereiten). WHERE Die WHERE Klausel wird verwendet, um die Ausgabe einer Abfrage zu filtern . Angenommen, Ihre nächste Aufgabe besteht darin, die Titel der im Museum vorhandenen Gemälde und deren Entstehungsjahr aufzulisten. Sie möchten nicht, dass Informationen über Skulpturen und andere Arten von Kunstwerken in der Ergebnismenge enthalten sind. Hier ist die zu verwendende SQL-Abfrage: SELECT title, year FROM artworks WHERE type = ‘painting’; Mit der Anweisung WHERE geben Sie einfach an, dass der Typ des Kunstwerks "Gemälde" sein soll. So erhalten Sie dieses Ergebnis: titleyear The Mona Lisa1506 The Wedding Feast at Cana1563 The Lacemaker1670 Weitere Einzelheiten über die WHERE-Klausel finden Sie in diesem Artikel. ORDER BY Oft möchte man die Abfrageergebnisse in einer bestimmten Reihenfolge anzeigen lassen. In SQL können Sie die Ergebnismenge mit der ORDER BY -Klausel sortieren. Lassen Sie uns zum Beispiel das Ergebnis der letzten SQL-Abfrage nach dem Jahr der Erstellung sortieren, beginnend mit den neuesten Werken. Dazu geben wir einfach die Spalte Jahr in der Klausel ORDER BY an und fügen das Schlüsselwort DESC hinzu, um die Ergebnisse in absteigender Reihenfolge zu sortieren: SELECT title, year FROM artworks WHERE type = ‘painting’ ORDER BY year DESC; titleyear The Lacemaker1670 The Wedding Feast at Cana1563 The Mona Lisa1506 Erfahren Sie mehr über das Ordnen von Zeilen nach einer oder mehreren Spalten in diesem einführenden Artikel. Weitere Anwendungsfälle für ORDER BY finden Sie in diesem ausführlichen Leitfaden über die Anweisung ORDER BY. GRUPPE BY Standardmäßig sind alle Ergebnisse, die wir erhalten, auf Datensätze ausgerichtet. In manchen Fällen möchten wir jedoch Metriken für Gruppen von Datensätzen berechnen (z. B. die Anzahl der Gemälde von jedem Künstler, das älteste Meisterwerk für jeden Kunstwerkstyp usw.). An dieser Stelle kommt die GROUP BY Klausel ins Spiel. Mit GROUP BY können Sie Gruppen von Datensätzen (Zeilen) erstellen und Metriken für jede Gruppe berechnen. Sehen wir uns zum Beispiel das Erstellungsjahr für das älteste Meisterwerk jedes Kunstwerkstyps an: SELECT type, MIN (year) AS oldest_work_from FROM artworks GROUP BY type; Hier berechnen wir das früheste (minimale) Jahr für jede Art von Kunstwerk. Wir erhalten die folgende Ausgabe: typeoldest_work_from painting1506 sculpture1759 Erfahren Sie mehr über die Syntax von GROUP BY in diesem Artikel. Außerdem finden Sie hier weitere Beispiele mit GROUP BY. HAVING Wie die Klausel WHERE filtert auch HAVING die Ausgabe einer Abfrage. Allerdings filtert WHERE auf der Ebene der Datensätze, während HAVING auf der Gruppenebene filtert. Lesen Sie hier mehr über den Unterschied zwischen HAVING und WHERE. Nehmen wir an, dass wir die Kunstwerkstypen erhalten möchten, bei denen das älteste Werk vor 1600 datiert ist. Da dies die Bedingung für einen aggregierten Wert ist, fügen wir sie in die HAVING-Klausel ein: SELECT type, MIN (year) AS oldest_work_from FROM artworks GROUP BY type HAVING MIN (year) < 1600; In unserem Fall erfüllen nur Gemälde diese Bedingung: typeoldest_work_from painting1506 In diesem Leitfaden erfahren Sie mehr darüber, wann und wie Sie HAVING verwenden . SQL-Abfrage-Syntax: Zusammenfassung Nachdem wir uns die grundlegenden Elemente einer SQL-Abfrage angesehen haben, ist Ihnen wahrscheinlich klar, dass die Frage, wo und wie diese Elemente zu verwenden sind, normalerweise einfach zu beantworten ist. Es gibt jedoch viele Details, die in diesem Überblick nicht behandelt wurden. Um Ihnen zu helfen, Ihr Wissen über die SQL-Syntax zu überprüfen, haben wir ein zweiseitiges SQL für Anfänger Cheat Sheet vorbereitet. Laden Sie es herunter, drucken Sie es aus und kleben Sie es an Ihren Schreibtisch. Lassen Sie uns nun versuchen, alle grundlegenden Elemente in einer SQL-Abfrage zu verwenden. Wir wollen die Namen der Künstler zusammen mit dem Jahr ihres ältesten Werks, das wir im Museum haben, abrufen. Außerdem wollen wir (1) die Mona Lisa ausschließen, da sie zu berühmt ist; (2) nur Künstler einbeziehen, deren ältestes Werk vor 1700 geschaffen wurde, und (3) die Ausgabe nach dem Jahr des ältesten Werks ordnen, beginnend mit dem frühesten. Hier ist die zu verwendende Abfrage: Die Ausgabe dieser Abfrage ist: nameoldest_work_from Paolo Veronese1563 Johannes Vermeer1670 Konnten Sie die Logik dieser SQL-Abfrage nachvollziehen? Wenn Sie sich im Umgang mit den verschiedenen Abfrageelementen nicht sicher fühlen, sollten Sie sich unseren SQL für Anfänger Kurs. In 129 interaktiven Übungen werden die grundlegenden Anwendungen von SQL behandelt, darunter die Erstellung grundlegender Berichte, die Arbeit mit mehreren Tabellen, die Erstellung von Berichten mit Aggregatfunktionen und das Schreiben von Unterabfragen und komplexen Anweisungen. Möchten Sie noch mehr üben? LearnSQL.de hat ein SQL-Übungssatz mit 88 interaktiven Übungen, um Ihre SQL-Grundkenntnisse zu testen. Vielen Dank fürs Lesen und viel Spaß beim Lernen! Tags: SQL-Interviewfragen