SQL - UNION Operator

Hallo zusammen, zukünftige SQL-Zauberer! Heute machen wir uns auf eine aufregende Reise in die Welt der SQL UNION-Operatoren. Machen Sie sich keine Sorgen, wenn Sie neu im Programmieren sind – ich werde Ihr freundlicher Guide sein und alles Schritt für Schritt erklären. Also, holen Sie sich eine Tasse Kaffee (oder Tee, wenn das Ihre Präferenz ist) und tauchen wir ein!

SQL - UNION Operator

Der SQL UNION Operator

Stellen Sie sich vor, Sie planen eine große Party und haben zwei Gästelisten: eine für Ihre Freunde und eine für Ihre Familie. Der SQL UNION-Operator ist so, als ob Sie diese beiden Listen zu einer Masterliste kombinieren, ohne Duplikate. Coole Sache, oder?

In SQL-Begriffen ermöglicht der UNION-Operator uns, die Resultsets von zwei oder mehr SELECT-Anweisungen zu kombinieren. Hier ist die grundlegende Syntax:

SELECT column1, column2, ... FROM table1
UNION
SELECT column1, column2, ... FROM table2;

Denken Sie daran, dass UNION korrekt funktioniert, wenn:

  1. Die Anzahl der Spalten in jeder SELECT-Anweisung gleich ist.
  2. Die Datentypen der entsprechenden Spalten kompatibel sind.
  3. Die Spaltenreihenfolge in jeder SELECT-Anweisung gleich ist.

Lassen Sie uns einige Beispiele anschauen, um dies klarer zu machen.

UNION auf einem einzelnen Feld

Angenommen, wir haben zwei Tabellen: fruits und vegetables. Wir möchten eine Liste aller Artikel erstellen.

SELECT name FROM fruits
UNION
SELECT name FROM vegetables;

Diese Abfrage gibt uns eine einzelne Liste aller Früchte und Gemüse, ohne Duplikate. Wenn es eine 'Apfel' in beiden Tabellen gibt, wird sie nur einmal im Ergebnis appearieren.

UNION auf mehreren Feldern

Nun, lassen Sie uns annehmen, dass wir die Preise zusammen mit den Namen hinzufügen möchten. Wir können das如此 machen:

SELECT name, price FROM fruits
UNION
SELECT name, price FROM vegetables;

Dies gibt uns eine Liste aller Artikel mit ihren Preisen. Denken Sie daran, die Reihenfolge und Anzahl der Spalten müssen in beiden SELECT-Anweisungen übereinstimmen.

UNION mit WHERE-Klausel

Wir können auch WHERE-Klauseln mit UNION verwenden, um unsere Ergebnisse zu filtern. Zum Beispiel, wenn wir nur Artikel haben möchten, die weniger als $5 kosten:

SELECT name, price FROM fruits WHERE price < 5
UNION
SELECT name, price FROM vegetables WHERE price < 5;

Diese Abfrage gibt uns eine Liste aller Früchte und Gemüse, die weniger als $5 kosten.

UNION mit ORDER BY Klausel

Was ist, wenn wir unsere kombinierte Liste sortieren möchten? Wir können ORDER BY verwenden, aber es sollte nach der letzten SELECT-Anweisung kommen:

SELECT name, price FROM fruits
UNION
SELECT name, price FROM vegetables
ORDER BY name;

Dies gibt uns eine alphabetisch sortierte Liste aller Früchte und Gemüse.

UNION mit Aliases

Manchmal möchten wir unsere Spalten im Ausgabefeld umbenennen. Wir können das如此 machen:

SELECT name AS item_name, price AS item_price FROM fruits
UNION
SELECT name, price FROM vegetables;

In diesem Fall wird die 'name'-Spalte als 'item_name' und 'price' als 'item_price' im Resultset angezeigt.

Hier ist eine Tabelle, die die UNION-Methoden zusammenfasst, die wir besprochen haben:

Methode Beschreibung
Basic UNION Kombiniert Resultsets von zwei oder mehr SELECT-Anweisungen
UNION auf einem einzelnen Feld Kombiniert eine Spalte aus mehreren Tabellen
UNION auf mehreren Feldern Kombiniert mehrere Spalten aus mehreren Tabellen
UNION mit WHERE Filtert die Ergebnisse vor dem Kombinieren
UNION mit ORDER BY Sortiert die kombinierten Ergebnisse
UNION mit Aliases Benennt Spalten im Ausgabefeld um

Denken Sie daran, Übung macht den Meister! Versuchen Sie, Ihre eigenen UNION-Abfragen zu schreiben, experimentieren Sie mit verschiedenen Tabellen und Bedingungen. Vor Ihnen wissen Sie, Sie werden wie ein Profi UNIONen!

Ich hoffe, dieser Tutorial hat Ihnen geholfen, den SQL UNION-Operator zu entmystifizieren. Weiter codieren, bleiben Sie neugierig und vergessen Sie nicht, Spaß zu haben! Schließlich hat jeder großartige Programmierer genau dort angefangen, wo Sie jetzt sind. Viel Spaß beim Abfragen!

Credits: Image by storyset