Dieses Handbuch stellt verschiedene Methoden in SQL vor, um Daten aus mehreren Tabellen in einer Datenbank abzurufen und so eine komplexe Datenanalyse und Berichterstellung zu unterstützen.
Join wird verwendet, um Zeilen aus mehreren Tabellen basierend auf gemeinsamen Spalten zu kombinieren, um einen einzigen Ergebnissatz zu erstellen. Es gibt drei Hauptverbindungstypen:
Unions Kombinieren Sie die Ergebnisse mehrerer Abfragen in einem einzigen Ergebnissatz. Sie ähneln Joins, verwenden jedoch keine gemeinsamen Spalten für den Abgleich. Mithilfe von Joins können Daten aus Tabellen mit unterschiedlichen Strukturen zusammengeführt oder doppelte Zeilen entfernt werden.
Eine Unterabfrage ist eine Abfrage innerhalb einer Abfrage, die zum Filtern oder Ändern der aus der Hauptabfrage abgerufenen Daten verwendet wird. Sie werden in Klammern eingeschlossen und können in WHERE-, HAVING- oder FROM-Klauseln verwendet werden.
Ein Kartesischer Produkt-Join tritt auf, wenn beim Verbinden von Tabellen keine Join-Bedingungen angegeben werden. Dies führt zu einer großen Anzahl unnötiger Zeilen, was sich negativ auf die Leistung auswirken kann. Stellen Sie sicher, dass Sie immer Join-Bedingungen angeben, um kartesische Produkt-Joins zu vermeiden.
Eine Unterabfrage in der FROM-Klausel ermöglicht es Ihnen, die Ergebnismenge der Unterabfrage als Tabelle in der Hauptabfrage zu verwenden. Dies ist nützlich für komplexe Datentransformationen oder die Vereinfachung verschachtelter Abfragen.
Berechnete Spalten: Verwenden Sie mathematische Operationen oder Funktionen, um neue Spalten in Abfragen zu erstellen. CASE-Anweisung: Verwenden Sie logische Ausdrücke, um verschiedene Werte basierend auf angegebenen Bedingungen auszuwählen. OVER()-Funktion: Wenden Sie eine Aggregatfunktion auf eine Gruppe von Zeilen innerhalb einer Partition an. Temporäre Tabelle: Erstellen Sie eine temporäre Tabelle zum Speichern von Zwischenergebnissen und ermöglichen Sie komplexe Datentransformationen, ohne die Originaltabelle zu ändern. Abgeleitete Tabellen: Ähnlich wie temporäre Tabellen, aber sie werden inline in der Abfrage erstellt.
Beispiel 1: Rufen Sie die Namen und Modelle von Autos ab, die von Toyota und BMW hergestellt werden.
<code class="language-sql">SELECT cars.model, brands.brand FROM cars JOIN brands ON cars.brand = brands.id WHERE brands.brand IN ('Toyota', 'BMW');</code>
Beispiel 2: Rufen Sie den Namen und die Farbe eines Autos ab, bei dem es sich um einen Sportwagen oder einen Allradantrieb handelt.
<code class="language-sql">SELECT cars.model, colors.color FROM cars JOIN models ON cars.model = models.id JOIN colors ON cars.color = colors.id WHERE models.model IN ('Sports', '4WD');</code>
Beispiel 3: Verwenden Sie einen linken äußeren Join, um alle Marken abzurufen, auch wenn sich keine Autos im Inventar befinden.
<code class="language-sql">SELECT brands.brand FROM brands LEFT JOIN cars ON brands.id = cars.brand;</code>
Durch die Beherrschung von Joins, Unions und anderen fortgeschrittenen SQL-Techniken können Sie Daten effizient aus mehreren Tabellen abrufen und komplexe Berichte erstellen. Dies ist eine wichtige Fähigkeit für Datenanalysten, Datenwissenschaftler und Datenbankadministratoren.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von SQL-Abfragen Daten aus mehreren Tabellen abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!