..


Sponsored Links

Verwenden Sie UNION, die Ergebnisse der beiden Tabellen kombinieren

Artikel von Max Bossi geschrieben

Die SQL-Sprache bietet uns eine ziemlich einfache Art und Weise zu kombinieren, in der gleichen SELECT-Anweisung, die Ergebnisse von zwei verschiedenen Tabellen.

Um dies zu erreichen, ist es Zeit, UNION all'opertore Gebrauch, wird in der Tat, die Vereinigung der Ergebnisse durch die Abfrage der beiden Tabellen erhalten.

Beachten Sie, dass, um richtig eingesetzt werden, ist es Zeit, dass die UNION-Operator:

  • dass die Tabellen sind auf der gleichen Anzahl von Spalten abgefragt;
  • fordert, dass die Spalten den gleichen Namen haben;
  • dass die erforderlichen Spalten in den beiden Tabellen sind konsistente Daten-Typen;
Nehmen wir ein Beispiel: Nehmen wir an, die auf einer Datenbank von hypothetischen Reisebüro betreiben und davon ausgehen, dass unsere DB nur zwei Tabellen enthält sagen:
  • hotel_italia
    • Name
    • Sterne
    • Stadt
    • Nation
  • hotel_europa
    • Name
    • Sterne
    • Stadt
    • Nation
Nehmen wir nun an, dass ein Kunde uns, entweder die Angebote der Hotels in Italien und in Europa wissen will:





 SELECT name, Sterne, Stadt, Land







 VON hotel_italia







 UNION







 SELECT name, Sterne, Stadt, Land







 VON hotel_europa



Mit dieser Abfrage erhalten wir eine vollständige Auflistung aller Hotels in den beiden Tabellen:

Name Sterne Stadt Nation
Hotel Cavour 4 Rom EN
Hotel Miramare 2 Katholisch EN
Hotel Manzoni 2 Mailand EN
Hotel Espana 3 Madrid ES
Hilton 5 London Vereinigtes Königreich
Hotel am Schlossgarten 4 Stuttgart DE

Hinweis: Bitte beachten Sie, dass die UNION-Operator zeigt keine doppelte Datensätze (in der Standardeinstellung arbeitet als wenn es ein SELECT DISTINCT ), und wenn Sie wollen keine doppelten Datensätze zeigen auch (man denke zurück zu unserem Beispiel, in einem Hotel in dieser sowohl in der Tabelle in die hotel_italia hotel_europa) müssen UNION ALL verwenden.

Sortieren und begrenzen Sie die Ergebnisse aus UNION

Nehmen wir an, dass die Ergebnisse aus der Verwendung von UNION und viele davon an bestimmte Anzahl begrenzt werden soll. Wie tun? Hier ist eine Lösung:

 



 SELECT * FROM







 (SELECT name, Sterne, Stadt, Land FROM hotel_italia







 UNION







 SELECT name, Sterne, Stadt, Land FROM hotel_europa)







 AS Hotel







 ORDER BY DESC LIMIT 10 Sterne

 
Im Wesentlichen behandeln wir die Ergebnisse aus der Vereinigung von zwei oder mehr Tabellen, als ob sie das Ergebnis einer einzigen Tabelle wurden, damit können wir die Sortier-und normale Limit verwenden.

In der selben Kategorie ...
E-Learning
MS Access (Course) MS Access (Course)
Erfahren Sie, wie das Erstellen und Verwalten von Datenbanken einfach und schnell. Ab 29 €.
MySQL (Kurs) MySQL (Kurs)
Management von Open-Source-Datenbank. Ab 39 €.
SQL-und Datenbank-(Kurs) SQL-und Datenbank-(Kurs)
Erstellen und Verwalten von relationalen Datenbanken. Ab 39 €.
Sponsored Links