Maison >base de données >tutoriel mysql >SQL Server peut-il mettre à jour les tables à l'aide d'une instruction SELECT?

SQL Server peut-il mettre à jour les tables à l'aide d'une instruction SELECT?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-25 05:15:08310parcourir

Can SQL Server Update Tables Using a SELECT Statement?

Utilisez l'instruction SELECT pour mettre à jour la table dans SQL Server

SQL Server utilise l'instruction INSERT...SELECT pour insérer les résultats de l'instruction SELECT dans une table. Cet article explore si une opération de mise à jour similaire peut être effectuée à l'aide de l'instruction SELECT.

SQL Server peut-il mettre à jour une table à l'aide de SELECT ?

Contrairement à l'instruction INSERT...SELECT, SQL Server ne prend pas en charge nativement la syntaxe UPDATE...SELECT. Cependant, une fonctionnalité similaire peut être obtenue en utilisant une combinaison d'instructions JOIN et SET.

Mise à jour en utilisant JOIN et SET

Pour mettre à jour une table avec les données d'une instruction SELECT, procédez comme suit :

  1. Créez une instruction JOIN correspondant aux lignes à mettre à jour.
  2. Dans la clause SET, spécifiez les colonnes à mettre à jour et leurs valeurs correspondantes à partir de l'instruction SELECT.
  3. Utilisez la clause WHERE pour filtrer les lignes afin de garantir que seules les lignes prévues sont affectées.

Par exemple, considérons la requête suivante :

<code class="language-sql">UPDATE Table_A
SET Table_A.col1 = Table_B.col1,
    Table_A.col2 = Table_B.col2
FROM Some_Table AS Table_A
INNER JOIN Other_Table AS Table_B ON Table_A.id = Table_B.id
WHERE Table_A.col3 = 'cool';</code>

Dans cet exemple, l'instruction UPDATE modifie les colonnes Table_B et Table_A de col1 avec les données de la ligne col2 correspondante. La clause INNER JOIN garantit que seules les lignes avec des valeurs id correspondantes sont mises à jour, tandis que la clause WHERE limite les mises à jour aux lignes où col3 est égal à 'cool' .

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!

Déclaration:
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