Maison > base de données > tutoriel mysql > Comment puis-je mettre à jour les enregistrements SQL Server à l'aide des données d'une autre table via une instruction SELECT ?

Comment puis-je mettre à jour les enregistrements SQL Server à l'aide des données d'une autre table via une instruction SELECT ?

Patricia Arquette
Libérer: 2025-01-25 04:56:13
original
976 Les gens l'ont consulté

How Can I Update SQL Server Records Using Data from Another Table via a SELECT Statement?

Tiration de sélection des instructions pour les mises à jour d'enregistrement de serveur SQL

SQL Server propose l'instruction INSERT...SELECT pour l'insertion de lignes. Ce guide montre comment mettre à jour les enregistrements existants de la même manière à l'aide de données provenant d'un autre tableau.

Structure de requête de mise à jour

La syntaxe suivante facilite la mise à jour des enregistrements en fonction des données d'une instruction SELECT:

<code class="language-sql">UPDATE Table_A
SET
    Table_A.col1 = Table_B.col1,
    Table_A.col2 = Table_B.col2
FROM
    Table_A AS Table_A
    INNER JOIN Table_B AS Table_B
        ON Table_A.id = Table_B.id
WHERE
    Table_A.col3 = 'cool';</code>
Copier après la connexion

Explication détaillée

  • UPDATE Table_A : Spécifie la table cible pour les mises à jour.
  • SET : Attribue des valeurs de Table_B aux colonnes spécifiées dans Table_A.
  • FROM : Identifie les tableaux impliqués dans l'opération de mise à jour.
  • INNER JOIN : liens Table_A et Table_B basé sur une colonne commune.
  • ON : définit la condition de jointure (colonnes correspondantes).
  • WHERE : filtre les lignes mises à jour en fonction d'une condition spécifique.

Exemple pratique

Imaginez Table_A avec les colonnes id, col1, col2, et col3, et Table_B (potentiellement une table temporaire) contenant des valeurs mises à jour pour id, col1, et col2.

pour mettre à jour Table_A en utilisant des données de Table_Bcol3 est `` cool '', utilisez cette requête:

<code class="language-sql">UPDATE Table_A
SET
    Table_A.col1 = Table_B.col1,
    Table_A.col2 = Table_B.col2
FROM
    Table_A
    INNER JOIN Table_B
        ON Table_A.id = Table_B.id
WHERE
    Table_A.col3 = 'cool';</code>
Copier après la connexion

Cette requête rejoint les tables de la colonne id, mettant à jour col1 et col2 dans Table_A uniquement pour les lignes où col3 est égal à «cool» dans les deux tables. Cela garantit que seuls les enregistrements correspondants sont mis à jour.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal