Maison > base de données > tutoriel mysql > Comment mettre à jour un champ dans SQL à l'aide de jointures ?

Comment mettre à jour un champ dans SQL à l'aide de jointures ?

Linda Hamilton
Libérer: 2025-01-22 13:56:11
original
141 Les gens l'ont consulté

How to Update a Field in SQL Using Joins?

Mise à jour des champs SQL à l'aide de jointures : un guide complet

Souvent, la mise à jour d'un champ de table nécessite des données provenant d'autres tables. Ceci est réalisé efficacement en utilisant l'instruction UPDATE de SQL avec des jointures. Ce guide montre le processus.

Structure des requêtes

La structure fondamentale d'une UPDATE requête intégrant des jointures est :

<code class="language-sql">UPDATE target_table
SET target_field = source_value
FROM target_table
JOIN source_table1 ON join_condition1
JOIN source_table2 ON join_condition2
WHERE filter_condition;</code>
Copier après la connexion

Exemple illustratif

Disons que nous devons mettre à jour le champ mf_item_number dans la table item_master. Les nouvelles valeurs sont dérivées de la jointure des tables item_master, group_master et Manufacturer_Master basées respectivement sur les colonnes sku et ManufacturerID.

La requête SQL serait :

<code class="language-sql">UPDATE im
SET mf_item_number = gm.SKU
FROM item_master im
JOIN group_master gm ON im.sku = gm.sku
JOIN Manufacturer_Master mm ON gm.ManufacturerID = mm.ManufacturerID
WHERE im.mf_item_number LIKE 'STA%' AND gm.manufacturerID = 34;</code>
Copier après la connexion

Explication

  • UPDATE im : Spécifie la table item_master (alias im) à mettre à jour.
  • SET mf_item_number = gm.SKU : définit le champ mf_item_number sur la valeur de SKU de la table group_master (alias gm).
  • FROM item_master im JOIN ... : définit les jointures entre les trois tables en fonction des valeurs de colonne correspondantes.
  • WHERE ... : filtre la mise à jour uniquement sur les lignes où mf_item_number commence par 'STA%' et manufacturerID vaut 34.

Cas Général

Cette approche est adaptable à différents scénarios de mise à jour :

<code class="language-sql">UPDATE tableA
SET fieldA = tableB.fieldB
FROM tableA
JOIN tableB ON tableA.common_column = tableB.common_column
WHERE condition;</code>
Copier après la connexion

Ceci met à jour fieldA dans tableA avec les valeurs de fieldB dans tableB, en fonction des valeurs common_column correspondantes et de tout condition spécifié. N'oubliez pas de toujours examiner attentivement votre requête avant son exécution pour éviter toute modification involontaire des données.

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