25th Jun 2024 8 Leseminuten Was sind die grundlegenden SQL-Abfragen? Ignacio L. Bisso SQL-Grundlagen Inhaltsverzeichnis Was ist eine SQL-Abfrage? Unsere Beispieltabelle Grundlegende SQL-Abfragen Abfrage 1: Auswählen aller Daten aus einer Tabelle Abfrage 2: Auswählen bestimmter Spalten aus einer Tabelle Abfrage 3: Durchführen einfacher Berechnungen Abfrage 4: Daten filtern Abfrage 5: Sortieren von Daten im Abfrageergebnis Kombinieren Sie alles, um Geschäftsprobleme zu lösen Lernen Sie weiter grundlegende SQL-Abfragen! Mit einigen grundlegenden SQL-Abfragen können Sie auf die Daten in einer Datenbank zugreifen. In diesem Artikel gehen wir auf die grundlegenden SQL-Abfragen ein, die jeder Einsteiger kennen sollte. Datenbanken gibt es überall, und sie enthalten verschiedene Arten von Daten. Fast alle von ihnen unterstützen SQL, eine Sprache, mit der Sie die Daten in einer Datenbank lesen und bearbeiten können. In diesem Artikel zeige ich Ihnen die grundlegenden SQL-Abfragen, mit denen Sie viele alltägliche Datenaufgaben erledigen können. Der beste Weg, SQL zu lernen, ist unser interaktiver SQL für Anfänger Kurs. Er enthält über 120 Übungen, die mit sehr einfachen Beispielen beginnen und dann zu Konzepten wie JOINs und WHERE Bedingungen übergehen. Mehr über SQL erfahren Sie in unserem Artikel Was ist SQL? Dort erfahren Sie auch, warum SQL nicht schwer zu lernen ist. Was ist eine SQL-Abfrage? Eine Datenbank ist ein Computerprogramm, das große Mengen an Daten speichert. Datenbanken sind in der Regel in Tabellen organisiert. Jede Tabelle speichert Daten zu einer Sache, einer Person, einem Ort oder einem anderen Objekt (z. B. zu Kunden, Produkten, Terminen oder Mitarbeitern). Sobald Sie die Daten in einer Datenbank gespeichert haben, können Sie mit diesen Daten Berichte erstellen - zum Beispiel eine Liste der Kunden, die im letzten Monat Transaktionen getätigt haben. Sie erstellen Datenbankberichte mit Hilfe von SQL, der Structured Query Language. SQL ist die Programmiersprache, mit der man mit Datenbanken kommuniziert. Eine SQL-Abfrage ist ein Ausdruck, ähnlich wie ein englischer Satz, der die Datenmenge definiert, die aus der Datenbank abgerufen werden soll. Sie können sich eine SQL-Abfrage als eine Frage vorstellen, die Sie an die Datenbank senden; danach erwarten Sie, dass die Datenbank auf die Frage antwortet, indem sie die Daten zurückschickt. In diesem Artikel werden wir Ihnen die grundlegendsten SQL-Abfragen vorstellen. Diese können zur Durchführung gängiger Datenaufgaben verwendet werden. Sie können diese SQL-Abfragen leicht abändern und für Ihre eigene Datenbank verwenden. Bevor wir mit den Abfragen beginnen, sehen wir uns zunächst die Daten an, die wir verwenden werden. Unsere Beispieltabelle Die Abfragen basieren auf einer Tabelle namens products. In dieser Tabelle werden alle Produktinformationen für ein E-Commerce-Unternehmen gespeichert. Die Spalten der Tabelle sind in der Abbildung unten zu sehen: prod_codenameprod_ familycostpricestockproviderstatus 1001Cell Phone A200Phones50085035Trixavailable 1002Cell Phone A310Phones740120050Trixavailable 1003HeadsetAudio2450150Zeysold out 2001Portable SpeakerAudio14023050Zeyavailable 2002Sound Box Hulk1Audio2203400Zeydiscontinued 2003Sound Box Hulk2Audio32053012Zeyavailable 2004HeadsetAudio325885Zeyavailable 3001Tablet X8 8 inchTablets15530035MiniSOftavailable 3002Tablet X12 12 inchTablets21543040MiniSoftavailable Die Namen der Spalten sind selbsterklärend. Die vielleicht wichtigste Spalte ist prod_code. Sie speichert einen numerischen Code, der jedes Produkt identifiziert (d. h. die ID jedes Produkts). Außerdem ist zu beachten, dass die Statusspalte nur vier gültige Werte haben kann: "verfügbar", "ausverkauft", "bald eintreffend" oder "nicht mehr lieferbar". Da wir nun wissen, welche Daten wir erwarten können, sollten wir mit dem Schreiben einiger SQL-Abfragen beginnen! Grundlegende SQL-Abfragen Abfrage 1: Auswählen aller Daten aus einer Tabelle Die erste Abfrage ist eine einfache Methode, um alle Informationen aus einer Datenbanktabelle abzurufen. Die folgende Abfrage zeigt alle Datensätze in allen product Tabellenspalten: SELECT * FROM products Die Anweisung SELECT verwendet das Symbol *, um "alle Spalten" darzustellen. Danach gibt die FROM Klausel die Tabelle an, die gelesen werden soll. Wie Sie unten sehen, ist das Ergebnis die komplette Tabelle: alle Datensätze und alle Spalten. Mit dieser Abfrage können Sie einen Blick in eine Tabelle werfen, um herauszufinden, welche Art von Daten sich in der Tabelle befindet. prod_codenameprod_ familycostpricestockproviderstatus 1001Cell Phone A200Phones50085035Trixavailable 1002Cell Phone A310Phones740120050Trixavailable 1003HeadsetAudio2450150Zeysold out 2001Portable SpeakerAudio14023050Zeyavailable 2002Sound Box Hulk1Audio2203400Zeydiscontinued 2003Sound Box Hulk2Audio32053012Zeyavailable 2004HeadsetAudio325885Zeyavailable 3001Tablet X8 8 inchTablets15530035MiniSOftavailable 3002Tablet X12 12 inchTablets215430140MiniSoftavailable Abfrage 2: Auswählen bestimmter Spalten aus einer Tabelle Sie können auch nur einige Spalten aus einer Tabelle anzeigen. Nehmen wir an, wir wollen eine Preisliste mit den Spalten name, provider, prod_family und price. Die Abfrage ist sehr einfach: SELECT name, provider, prod_family, price FROM products Wir geben die Spalten an, die wir aus der Tabelle extrahieren wollen: name, provider, prod_family und price. In der zweiten Zeile der Abfrage verwenden wir die Klausel FROM, um die zu lesende Tabelle anzugeben. Das Ergebnis ist: nameproviderprod_familyprice Cell Phone A200TrixPhones850 Cell Phone A310TrixPhones1200 HeadsetZeyAudio50 Portable SpeakerZeyAudio230 Sound Box Hulk1ZeyAudio340 Sound Box Hulk2ZeyAudio530 HeadsetZeyAudio58 Tablet X8 8 inchMiniSOftTablets300 Tablet X12 12 inchMiniSoftTablets430 Abfrage 3: Durchführen einfacher Berechnungen Innerhalb einer SQL-Abfrage können wir Berechnungen durchführen. So können wir einen berechneten Wert erhalten, der von anderen in der Datenbanktabelle gespeicherten Werten abgeleitet ist. Berechnen wir den Betrag für die Rentabilität der Produkte anhand der Spalten price und cost und zeigen wir den Betrag neben dem Produktnamen an. Hier ist die Abfrage, die wir verwenden würden: SELECT name, price - cost AS rentability FROM products Die zweite Zeile der Abfrage enthält den arithmetischen Ausdruck price - cost. Das Schlüsselwort AS ermöglicht es, dem Ergebnis dieses arithmetischen Ausdrucks den Namen rentability zuzuweisen. Die neue Information wird als Spalte im Abfrageergebnis angezeigt: namerentability Cell Phone A200350 Cell Phone A310460 Headset26 Portable Speaker90 Sound Box Hulk1120 Sound Box Hulk2210 Headset26 Tablet X8 8 inch145 Tablet X12 12 inch215 Abfrage 4: Daten filtern Normalerweise möchte man nicht alle Daten in einer Datenbank sehen. Sie möchten nur die Zeilen sehen, die bestimmten Kriterien entsprechen: Produkte aus einer Produktfamilie oder mit einem Preis unter einem bestimmten Schwellenwert. In SQL wird dies als Filtern der Daten bezeichnet. Die WHERE-Klausel filtert die gewünschten Daten aus den übrigen Daten der Tabelle. Sie extrahiert Datensätze, die bestimmten Bedingungen entsprechen. Nehmen wir zum Beispiel an, dass wir eine Preisliste für Produkte aus der Familie "Audio" benötigen. Wir können die folgende Abfrage verwenden, um das Ergebnis zu erhalten: SELECT name, provider, prod_family, price FROM products WHERE prod_family = ‘Audio’ Die Klausel WHERE gibt an, dass wir nur die Datensätze erhalten möchten, bei denen die Bedingung prod_family = ‘Audio’ TRUE lautet. Andere Datensätze (die zu den Familien "Phones" oder "Tablets" gehören) werden nicht in das Ergebnis aufgenommen. Mit anderen Worten, wir filtern die Datensätze aus der Tabelle products. nameproviderprod_ familyprice HeadsetZeyAudio50 Sound Box Hulk1ZeyAudio340 Portable SpeakerZeyAudio230 Sound Box Hulk2ZeyAudio530 HeadsetZeyAudio58 Abfrage 5: Sortieren von Daten im Abfrageergebnis Oft möchte man die Abfrageergebnisse in einer bestimmten Reihenfolge sehen, z. B. die Produkte vom billigsten zum teuersten oder die Produktnamen in alphabetischer Reihenfolge. Die Klausel ORDER BY wird verwendet, um festzulegen, wie die Datensätze im Abfrageergebnis geordnet werden sollen. Nehmen wir an, wir wollen die Produkte aus unserer vorherigen Abfrage nach Namen ordnen. Beachten Sie, wie wir ORDER BY in dieser Abfrage verwenden: SELECT name, provider, prod_family, price FROM products WHERE prod_family = ‘Audio’ ORDER BY name Wir können die gleichen Datensätze in alphabetischer Reihenfolge nach Produktnamen sehen: nameproviderprod_ familyprice HeadsetZeyAudio50 HeadsetZeyAudio58 Portable SpeakerZeyAudio230 Sound Box Hulk1ZeyAudio340 Sound Box Hulk2ZeyAudio530 Kombinieren Sie alles, um Geschäftsprobleme zu lösen Sie können alle in diesem Artikel vorgestellten SQL-Funktionen in einer Abfrage kombinieren. Durch diese Kombination von SQL-Funktionen entsteht eine komplexere Abfrage, mit der sich echte Geschäftsprobleme lösen lassen. Das Ergebnis der letzten Abfrage im vorherigen Abschnitt ähnelt einer Preisliste für Produkte der Audio-Familie. Es zeigt jedoch Produkte an, die nicht mehr erhältlich oder ausverkauft sind. In der nächsten Abfrage fügen wir eine zweite logische Bedingung in die WHERE Klausel ein, um nur Produkte einzuschließen, die derzeit verfügbar sind: SELECT name, provider, prod_family, price FROM products WHERE prod_family = ’Audio’ AND status = ’available’ ORDER BY name Die Bedingungen in der Klausel WHERE sind mit dem logischen Konnektor AND verknüpft; das Ergebnis enthält also nur Datensätze, bei denen beide logischen Bedingungen WAHR sind . Wir können dies in den folgenden Ergebnissen sehen: nameproviderprod_ familyprice HeadsetZeyAudio50 HeadsetZeyAudio58 Portable SpeakerZeyAudio230 Sound Box Hulk2ZeyAudio530 In der nächsten Beispielabfrage werden wir versuchen, alle in diesem Artikel behandelten SQL-Klauseln zu kombinieren. Nehmen wir an, wir planen eine Marketingkampagne und müssen zwei Produkte auswählen, die wir bewerben wollen. Wir wollen Produkte mit einer Rentabilität von mehr als 200 $ und mit einem Bestand von mehr als 25 Einheiten. Wir werden den Bericht auch nach einer Metrik namens "potenzielle Rentabilität" ordnen, die mit der folgenden Formel berechnet wird: (price - cost) * stock. Hier ist die Abfrage: SELECT name, price - cost AS rentability, stock, (price - cost) * stock AS potential_rentability FROM products WHERE price - cost > 200 AND stock > 25 ORDER BY (price - cost) * stock DESC; Die vorherige Abfrage berechnet zwei Metriken. Die eine Kennzahl ist rentability und wird mit der Formel price - cost berechnet. Die andere Metrik ist potential_rentability, die mit der Formel (price - cost) * stock berechnet wird. In der Klausel WHERE gibt die Abfrage zwei Bedingungen an: Die zurückzugebenden Datensätze müssen eine rentability größer als 200 und eine stock größer als 25 Einheiten haben. Schließlich wird das Ergebnis der Abfrage nach der Metrik potential_rentability in absteigender Reihenfolge (vom größten zum kleinsten Wert) geordnet. Unten sehen Sie das Ergebnis: namerentabilitystockpotential rentability Tablet X12 12 inch21514030100 Cell Phone A3104605023000 Cell Phone A2003503512250 Lernen Sie weiter grundlegende SQL-Abfragen! In diesem Artikel haben wir uns mit den grundlegenden SQL-Abfragen beschäftigt, die zur Durchführung einfacher Datenaufgaben verwendet werden können. SQL bietet jedoch noch viele weitere Klauseln und Techniken, mit denen Sie weitere Operationen mit Daten durchführen können. Unser interaktiver SQL für Anfänger Kurs ist der beste Weg, um SQL-Grundlagen zu beherrschen. Er enthält über 120 Übungen zu grundlegenden SQL-Abfragen (wie die in diesem Artikel) und anderen SQL-Konstruktionen, mit denen Sie Daten aus mehreren Tabellen kombinieren und verschiedene Statistiken berechnen können. Wenn Sie die Grundlagen von SQL bereits kennen, ist unser SQL Basic Cheat Sheet eine praktische Referenzquelle. Es gibt Ihnen eine kurze Erinnerung an die SQL-Syntax mit Beispielabfragen. Tags: SQL-Grundlagen