Was ist der Unterschied zwischen Merge und Merge Join in SQL Server?Sind Merge und Merge in SQL Server gleich?
Antwort
MERGE ist eine DML-Anweisung (Data Manipulation Language).
Auch UPSERT (Update-Insert) genannt.
Es wird versucht, Quelle (Tabelle/Sicht/Abfrage) zu einem Ziel (Tabelle/aktualisierbare Sicht) auf der Grundlage Ihrer definierten Bedingungen und dann basierend auf den übereinstimmenden Ergebnissen Zeilen einzufügen/zu aktualisieren/zu löschen/in der Zieltabelle .
MERGE (Transact-SQL)
create table src (i int, j int);
create table trg (i int, j int);
insert into src values (1,1),(2,2),(3,3);
insert into trg values (2,20),(3,30),(4,40);
merge into trg
using src
on src.i = trg.i
when not matched by target then insert (i,j) values (src.i,src.j)
when not matched by source then update set trg.j = -1
when matched then update set trg.j = trg.j + src.j
;
select * from trg order by i
+---+----+
| i | j |
+---+----+
| 1 | 1 |
+---+----+
| 2 | 22 |
+---+----+
| 3 | 33 |
+---+----+
| 4 | -1 |
+---+----+
MERGE JOIN ein Join-Algorithmus (z.B. Hashverknüpfung oder NESTED LOOPS).
Es basiert auf der ersten Sortierung der beiden Datensätze nach den Join-Bedingungen (möglicherweise bereits aufgrund des vorhandenen Indexes sortiert) und dann durch die sortierten Datensätze und das Finden von Übereinstimmungen.
create table t1 (i int)
create table t2 (i int)
select * from t1 join t2 on t1.i = t2.i option (merge join)
create table t1 (i int primary key)
create table t2 (i int primary key)
select * from t1 join t2 on t1.i = t2.i option (merge join)
In SQL Server ein Primärschlüssel gruppierten Indexstruktur impliziert, was bedeutet, die Tabelle als B-Baum gespeichert ist, durch den Primärschlüssel sortiert.
- 1. SQL SERVER MERGE Fehler
- 2. SQL Server Merge-Replikationszeitplan
- 3. SQL Server MERGE ohne Quellentabelle
- 4. SQL Server Pivot und Merge-Spalte möglich?
- 5. merge Zustand funktioniert nicht in SQL Server
- 6. MERGE-Anweisung DELETE-Alternative in SQL Server
- 7. SQL Server-Objekte (Schema vergleichen mit Merge)
- 8. SQL Server MERGE mehrere Varianten Variationen
- 9. SQL Server MERGE + Joining andere Tabellen
- 10. SQL-Merge, Tabellenwertparameter und GetDate()
- 11. SQL Server 2008 Merge Soft Delete Fehler
- 12. Entfernen (merge) Datenbank SQL Server sekundäre Datendatei
- 13. Merge-Funktion und gespeicherte Prozedur in SQL Server
- 14. Merge sql Abfragen
- 15. merge 2 SQL-Anweisungen
- 16. SQL Merge funktioniert nicht
- 17. SVN Arbeitskopie Merge ohne Server
- 18. SQL Merge Zeilen in SQL-Tabelle
- 19. SQL/PLSQL Merge Multilist Wert
- 20. T-SQL MERGE unverändert Ziel
- 21. SQL: Merge zwei verschiedene Abfrage
- 22. SQL Server 2012 - Fehler in der MERGE-Anweisung auf Semikolon
- 23. Force Merge Commit und Vorlauf in Git-Merge
- 24. Merge DataRows mithilfe von SQL
- 25. Syntax für einzelne Zeile MERGE/upsert in SQL Server
- 26. Fügen Sie den Steuerungsfluss in SQL Server hinzu Merge-Anweisung
- 27. SQL MERGE-Anweisung zu aktualisieren Daten
- 28. Machen Sie eine git Squash Merge und git merge wieder
- 29. Sie MERGE Linq mit
- 30. cvs2svn und merge info
Bitte schauen Sie auf die untenstehenden Links und Inhalte –