Delete From From!

Posto questo esempio di codice SQL :| perchè chiacchierando con un amico è emerso che la sintassi del "delete from from" è molto utile ma non molto conosciuta.

PROBLEMA: Devo cancellare i record della tabella "Tabella_A" che esistono nella tabella "Tabella_B" (testato su Sql Server 2008).

 

Se la chiave di relazione fra le due tabelle è solo una posso risolverla molto velocemente così:

DELETE

FROM Tabella_A

WHERE Chiave IN

( SELECT Chiave FROM Tabella_B WHERE Tabella_A.Chiave = Tabella_B.Chiave )

 

Se le chiavi di relazione sono due o più:

DELETE

FROM Tabella_A

FROM Tabella_A A INNER JOIN Tabella_B B ON A.Chiave = B.Chiave

In generale la parte in bold è il subset di dati che mi dice quali record dovrò cancellare dalla tabella in Italic.

 

So che questo può sembrare un post "del piffero" ma delle volte può risultare utile!

 

Riccardo.

«giugno»
domlunmarmergiovensab
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345