Heim >Datenbank >MySQL-Tutorial >MySQL-Entwicklungsfähigkeiten: JOIN-Update und Datenduplizierungsprüfung/Deduplizierung_MySQL
Beinhaltet hauptsächlich: JOIN, JOIN-Aktualisierung, GRUPPE DURCH Überprüfung/Deduplizierung der Datenduplizierung
1 INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN (nicht von MySQL unterstützt), CROSS JOIN
Dies ist ein sehr guter Blog-Beitrag, den ich im Internet gefunden habe und der die Join-Anweisung veranschaulicht:
CODING HORROR – Eine visuelle Erklärung von SQL-Joins
Die folgende Abbildung zeigt deutlich den Datenauswahlbereich von Join
[][1]
[1]: http://7xs09x.com1.z0.glb.clouddn.com/160725-imooc-mysql-development-skills-notes-001.png
2 Aktualisieren Sie die Tabelle, die sich selbst in die Filterbedingungen einbezieht
Aktualisieren Sie die wiederholten Felder von col_a in der Tabelle t1 t2
UPDATE t1 SET col_a = 'hi' WHERE t1.col_a IN ( SELECT b.col_a FROM t1 a INNER JOIN t2 b on a.col_a = b.col_a ) ; ERROR:1093
kann umgewandelt werden in:
UPDATE t1 aa JOIN( SELECT b.col_a FROM t1 a INNER JOIN t2 b on a.col_a = b.col_a )bb on aa.col_a= bb.col_a SET col_a = 'hi' ;
3 Fragen Sie doppelte Daten ab und löschen Sie doppelte Daten
Verwenden Sie GROUP BY und HAVING, um doppelte Daten abzufragen
SELECT col_a, COUNT(*) FROM t1 GROUP BY col_a HAVING COUNT(*) > 1 ;
Löschen Sie doppelte Daten und behalten Sie die mit der größten ID für dieselben Daten bei
DELETE a FROM t1 a JOIN ( SELECT col_a,COUNT(*),MAX(id) AS id FROM t1 GROUP BY col_a HAVING COUNT(*) > 1 )b ON a.col_a = b.col_a WHERE a.id < b.id ;
Vielen Dank für das Lesen dieses Artikels. Ich hoffe, er kann allen helfen. Vielen Dank für Ihre Unterstützung dieser Website!