Heim  >  Artikel  >  Datenbank  >  Was ist die gemeinsame Abfrageanweisung für mehrere Tabellen in MySQL?

Was ist die gemeinsame Abfrageanweisung für mehrere Tabellen in MySQL?

coldplay.xixi
coldplay.xixiOriginal
2020-09-03 14:01:2511459Durchsuche

Die Multi-Table-Union-Abfrageanweisung in MySQL lautet: [select-Anweisung 1 Union [Union-Option] select-Anweisung 2 Union [Union-Option] select-Anweisung n]. Gemeinsame Abfrageergebnisse für mehrere Tabellen kombinieren die Abfrageergebnisse mehrerer SELECT-Anweisungen.

Was ist die gemeinsame Abfrageanweisung für mehrere Tabellen in MySQL?

【Verwandte Lernempfehlung: MySQL-Tutorial (Video)】

Die gemeinsame Abfrageanweisung für mehrere Tabellen in MySQL lautet:

Das gemeinsame Abfrageergebnis ist eine Abfrage, die mehrere kombiniert select-Anweisungen Die Ergebnisse sind vereint.

Sie können zum Zusammenführen die Schlüsselwörter Union und Union All verwenden.

Grundlegende Syntax:

select-Anweisung 1

union [Union-Option]

select-Anweisung 2

union [Union-Option]

select-Anweisung n

Die Union-Option hat zwei Optionen: alle ( Zeigt an, dass Duplikate vorhanden sind auch Ausgabe); eindeutig (Deduplizierung, vollständig dupliziert, wird standardmäßig dedupliziert)

Die Felder der beiden Tabellen müssen nur konsistent sein.

例:
select id,addrid 
from addr 
union all 
select id,addrid 
from student

Die Bedeutung der gemeinsamen Abfrage

1. Fragen Sie dieselbe Tabelle ab, aber mit unterschiedlichen Anforderungen

2. Die Strukturen mehrerer Tabellen sind genau gleich und die gespeicherten Daten (Struktur) sind auch das Gleiche

Gemeinsame Abfrage Die Verwendung von order by

In gemeinsamen Abfragen: order by kann nur zuletzt verwendet werden, und Sie müssen Klammern für die Abfrageanweisung verwenden.

例:
---(错误)
select * from student where sex="man" order by score
union
select * from student wherre sex="woman" order by score;
这种情况会报错,因为一个句子中不能有两个order by
---(正确但不符合所需)
select * from student where sex="man" 
union
select * from student wherre sex="woman" order by score;
这种情况是正确的,但是合并又没有意义,他会把之前的sex分好的情况给打乱
---(正确)
(select * from student where sex="man" order by score 
limit 10)
union
(select * from student wherre sex="woman" order by score
limit 10);
在子语句中使用order by,由于优先级的问题,需要将整个子句用()括起来,且必须和limit结合使用,否则不会生效。

Wenn Sie mehr über das Programmieren erfahren möchten, achten Sie bitte auf die Rubrik php-Schulung!

Das obige ist der detaillierte Inhalt vonWas ist die gemeinsame Abfrageanweisung für mehrere Tabellen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn