Ce guide explique comment mettre à jour une table SQL Server en utilisant les données d'une autre table via une jointure. Nous couvrirons le processus étape par étape, en l'illustrant avec des exemples pratiques.
1. Définir la relation de table :
Tout d’abord, identifiez clairement la relation entre les tables impliquées. Par exemple, considérons les tables « sale » et « ud ». Supposons que « sale.assid » soit une clé étrangère faisant référence à « ud.assid ». Ceci définit le lien entre les deux tables.
2. Construction de la requête UPDATE :
Le cœur de l'opération de mise à jour réside dans l'instruction UPDATE
. Cette instruction cible la table à modifier, suivie d'une clause JOIN
pour établir la connexion avec la table source.
3. Spécification des valeurs de mise à jour :
La clause SET
dicte la ou les colonnes à mettre à jour et leurs nouvelles valeurs, provenant de la table jointe. Par exemple, SET u.assid = s.assid
met à jour 'ud.assid' avec la valeur correspondante de 'sale.assid'.
4. Définir la condition de jointure :
La clause JOIN
utilise le mot-clé ON
pour spécifier la condition de jointure. Dans notre exemple, ON u.id = s.udid
relie les lignes où « ud.id » correspond à « sale.udid ».
5. Requête illustrative :
Voici un exemple de requête illustrant le processus :
<code class="language-sql">UPDATE ud u SET u.assid = s.assid FROM ud u INNER JOIN sale s ON u.id = s.udid;</code>
Cette requête met à jour 'ud.assid' pour chaque ligne où un 'udid' correspondant existe dans la table 'sale'.
Approche alternative : sous-requêtes :
SQL Server prend également en charge l'utilisation de sous-requêtes dans la clause SET
pour dériver les valeurs de mise à jour. Cela offre une syntaxe alternative :
<code class="language-sql">UPDATE ud u SET u.assid = ( SELECT s.assid FROM sale s WHERE s.udid = u.id );</code>
Remarque importante : Les performances et la compatibilité du système de base de données peuvent influencer la syntaxe préférée. Pensez à tester les deux approches pour déterminer la solution optimale pour votre scénario spécifique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!