Ich weiß, der Hauptunterschied zwischen UNION
und ist die ehemalige entfernt doppelte Datensätze, während letztere alle hält. Meine Frage ist, wie UNION
doppelten Datensatz entfernt, wenn es mehrere Spalten gibt? Zum Beispiel zur Vereinigung T1(A, B, C)
und T2(A, B, C)
,Wie MySQL 'UNION' Duplikate mit mehreren Spalten entfernen?
- MySQL
(a1, b1, c1)
und(a1, b2, c2)
Duplikate in Betracht ziehen? - Wenn es in T1 selbst Duplikate gibt, wird MySQL diese Art von Duplikaten entfernen?
Eine doppelte Reihe ist eine, in der alle Spalten gleich sind. Also (a1, b1, c1) ist kein Duplikat von (a1, b2, c2). Wenn Sie jedoch zwei Zeilen (a1, b1, c1) in T1 oder T2 oder eine der Zeilen in T1 und die andere in T2 hätten, dann würde Ihr Ergebnissatz nur eine Zeile (a1, b1, c1) enthalten. –
Denken Sie nur daran, dass beide Ergebnisse zusammengefügt werden und dann ein eindeutiges Wesen ausgeführt wird. Es spielt keine Rolle, welche Tabelle Duplikate enthält ... alle werden entfernt. – xQbert