Maison > base de données > tutoriel mysql > Comment puis-je mettre à jour les tables SQL Server à l'aide de sélections SELECT?

Comment puis-je mettre à jour les tables SQL Server à l'aide de sélections SELECT?

Susan Sarandon
Libérer: 2025-01-25 05:07:08
original
976 Les gens l'ont consulté

How Can I Update SQL Server Tables Using SELECT Statements?

Exploiter les instructions SELECT pour les mises à jour des tables SQL Server

SQL Server propose des approches flexibles pour modifier les données des tables. Bien que INSERT INTO ... SELECT soit standard pour l'ajout de lignes, vous pouvez également mettre à jour les lignes existantes en utilisant UPDATE en conjonction avec une instruction SELECT. Cela fournit un moyen puissant de modifier plusieurs enregistrements en fonction des données d'une autre table.

Voici comment effectuer des mises à jour en utilisant cette technique :

Mise à jour de base avec SELECT :

L'approche fondamentale consiste à utiliser l'instruction UPDATE pour spécifier la table et les colonnes cibles, puis à utiliser une instruction SELECT pour fournir les nouvelles valeurs. Une clause WHERE est cruciale pour garantir que seules les lignes prévues sont modifiées :

<code class="language-sql">UPDATE Table SET col1 = a.col1, col2 = a.col2
FROM (SELECT col1, col2, id FROM other_table WHERE sql = 'cool') AS a
WHERE Table.id = a.id;</code>
Copier après la connexion

Cet exemple met à jour col1 et col2 dans la table Table avec les valeurs de other_table, mais uniquement pour les lignes où id correspond et où la condition sql = 'cool' est remplie dans other_table. Notez l'utilisation d'une sous-requête alias « a » pour plus de clarté et d'efficacité.

Mises à jour avancées avec JOIN :

Pour les scénarios plus complexes impliquant la correspondance de lignes dans des tables, une clause JOIN offre une solution plus propre et plus efficace :

<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>
Copier après la connexion

Cette UPDATE instruction utilise un INNER JOIN pour lier Some_Table et Other_Table en fonction des valeurs id correspondantes. Il met ensuite à jour col1 et col2 dans Table_A avec les valeurs correspondantes de Table_B uniquement où Table_A.col3 = 'cool'. Cette méthode est généralement préférée pour sa lisibilité et ses performances, en particulier avec des ensembles de données plus volumineux. N'oubliez pas de choisir le type JOIN approprié (INTÉRIEUR, GAUCHE, DROITE, COMPLET) en fonction de vos exigences de mise à jour spécifiques.

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