Les instructions SQL du genre Update et Delete n’accepte pas de jointures. Pour limiter ces instructions aux lignes d’une table de correspondance, il faut utiliser une sous-requête pour simuler une jointure. Pour appliquer cela à une colonne, c’est simple :
delete from x where
Utiliser une sous-requête pour simuler une jointure
x.a in (select y.a from y where x.a = y.a)
En revanche, pour simuler une jointure sur plusieurs colonnes, c’est plus compliqué parce qu’une sous-requête ne peut renvoyer qu’une colonne de résultat. Vous pouvez contourner cette limitation en faisant correspondre les requêtes à l’aide d’une constante et en spécifiant la jointure dans la clause Where de la sous-requête :
delete from x where 1 in (select 1 from y where x.a = y.a and x.b = y.b)
Par Julian Monypenny
Téléchargez cette ressource
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.
Les articles les plus consultés
A travers cette chaîne
A travers ITPro