> Tech > Utiliser une sous-requête pour simuler une jointure

Utiliser une sous-requête pour simuler une jointure

Tech - Par iTPro - Publié le 24 juin 2010
email

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

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

EDI : Pratiques de Performance Opérationnelle

EDI : Pratiques de Performance Opérationnelle

Comment mieux satisfaire les directions métiers, rationaliser les échanges, améliorer la qualité des données et gérer l’obsolescence ? Découvrez dans ce livre blanc, les principaux enjeux autour de l’échange de données informatisé, les technologies complémentaires à l’EDI pour gagner en efficacité et les innovations d’offres de services fournis par Generix Group pour digitaliser vos processus.

Tech - Par iTPro - Publié le 24 juin 2010