.
select column,...from table1union [all]select column,... from table2
(kostenlose Lernempfehlung: MySQL-Video-Tutorial)
[Beispiel 1] Fragen Sie die Informationen aller Früchte mit einem Preis unter 9 ab, fragen Sie s_id gleich ab bis 101 und 103 alle Für Fruchtinformationen verwenden Sie Union, um die Abfrageergebnisse zu verbinden. Die SQL-Anweisung lautet wie folgt:
mysql> select s_id,f_name,f_price -> from fruits -> where f_price <9.0 -> union all -> select s_id,f_name,f_price -> from fruits -> where s_id in(101,103);+------+------------+---------+| s_id | f_name | f_price |+------+------------+---------+| 104 | lemon | 6.40 || 101 | apple | 5.20 || 103 | apricot | 2.20 || 104 | berry | 7.60 || 107 | xxxx | 3.60 || 105 | melon | 8.20 || 101 | cherry | 3.20 || 105 | xbabay | 2.60 || 102 | grape | 5.30 || 107 | xbabay | 3.60 || 101 | apple | 5.20 || 103 | apricot | 2.20 || 101 | blackberry | 10.20 || 101 | cherry | 3.20 || 103 | coconut | 9.20 |+------+------------+---------+15 rows in set (0.06 sec)
union kombiniert die Ergebnisse mehrerer Select-Anweisungen zu einer Ergebnismenge. Sie können die Ergebnisse jeder Select-Anweisung separat anzeigen:
mysql> select s_id,f_name,f_price -> from fruits -> where f_price < 9.0;+------+---------+---------+| s_id | f_name | f_price |+------+---------+---------+| 104 | lemon | 6.40 || 101 | apple | 5.20 || 103 | apricot | 2.20 || 104 | berry | 7.60 || 107 | xxxx | 3.60 || 105 | melon | 8.20 || 101 | cherry | 3.20 || 105 | xbabay | 2.60 || 102 | grape | 5.30 || 107 | xbabay | 3.60 |+------+---------+---------+10 rows in set (0.00 sec)mysql> select s_id,f_name,f_price -> from fruits -> where s_id in(101,103);+------+------------+---------+| s_id | f_name | f_price |+------+------------+---------+| 101 | apple | 5.20 || 103 | apricot | 2.20 || 101 | blackberry | 10.20 || 101 | cherry | 3.20 || 103 | coconut | 9.20 |+------+------------+---------+5 rows in set (0.00 sec)
Sie können den separaten Abfrageergebnissen entnehmen, dass die erste Select-Anweisung Früchte mit einem Preis unter 9 abfragt und die zweite Select-Anweisung Früchte abfragt, die von den Lieferanten 101 und 103 bereitgestellt werden.
[Beispiel 2] Fragen Sie die Informationen aller Früchte mit einem Preis unter 9 ab, fragen Sie die Informationen aller Früchte mit s_id gleich 101 und 103 ab, verwenden Sie Union All, um die Abfrageergebnisse zu verbinden, die SQL-Anweisung lautet wie folgt:
mysql> select s_id,f_name,f_price -> from fruits -> where f_price<9.0 -> union all -> select s_id,f_name,f_price -> from fruits -> where s_id in(101,103);+------+------------+---------+| s_id | f_name | f_price |+------+------------+---------+| 104 | lemon | 6.40 || 101 | apple | 5.20 || 103 | apricot | 2.20 || 104 | berry | 7.60 || 107 | xxxx | 3.60 || 105 | melon | 8.20 || 101 | cherry | 3.20 || 105 | xbabay | 2.60 || 102 | grape | 5.30 || 107 | xbabay | 3.60 || 101 | apple | 5.20 || 103 | apricot | 2.20 || 101 | blackberry | 10.20 || 101 | cherry | 3.20 || 103 | coconut | 9.20 |+------+------------+---------+15 rows in set (0.00 sec)
Sie können hier sehen, dass die Gesamtzahl der Datensätze der Summe der von den beiden SELECT-Anweisungen zurückgegebenen Datensätze entspricht. Die Ergebnisse der Join-Abfrage entfernen keine doppelten Zeilen. Der Unterschied zwischen
union und union all:
union all
besteht nicht darin, doppelte Zeilen zu löschen. Die All-Schlüsselwortanweisung erfordert bei der Ausführung weniger Ressourcen. Verwenden Sie sie daher so oft wie möglich. Weitere verwandte kostenlose Lernempfehlungen: MySQL-Tutorial(Video)
Das obige ist der detaillierte Inhalt vonMySQL-Abfragedaten führen Abfrageergebnisse zusammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!