..


スポンサーリンク

二つ以上の表を更新

マックスボッシによって書かれた記事

UPDATEコマンドを使用して、我々は既存のレコードに基づいて行動する機会があり、修正。
例えば、、私たちのDBで、このような構造のテーブルをphone_numbersている、と仮定します。

  • の名前
  • 携帯電話
と私たちと言う。 テーブルは、既に3つのレコードが取り込まれます。

の名前 携帯電話
マリオロッシ 123.456789
アントニオビアンキ 987.654321
クラウディオヴェルディ 321.654987

今度は、その氏が言わせて John Smithは、移動していたと、そのため、電話番号を変更されています。 私たちの電話帳をアップグレードするために、我々はこのようなクエリを使用します。





 UPDATE







 phone_numbers







月







電話= '213 0.698547"







 WHERE







名前='John Doeさん"



新しい今のところ何もない。
今は、我々は次のように構造化された住所と呼ばれる別のテーブルがあるとします。
  • の名前
  • ・ prov
このテーブルが既に別のテーブルに既に存在する3人の友人のアドレスに3個の一致するレコードが移入されることがしているとします。

の名前 引用符 ・ prov
マリオロッシ ローマ11を介して トリノ
アントニオビアンキ ガリバルディ2を介して Gallarateの VA
クラウディオヴェルディ ピアッツァカブール4 コモ CO

すなわち、2つではなく1つの問合せを使用して、どのように同時に二つのテーブルを更新することができます:この長い導入後、我々はこの記事にタイトルを与える質問に来る?
UPDATEのステップでJOINを使用して、シンプル!

我々は最初にこのような問合せを使用する例題に戻りましょう:






 UPDATE







 phone_numbers







 INNER JOINを







アドレスは







 ON







 numeri_di_telefono.nome = indirizzi.nome







月







 numeri_di_telefono.telefono = '213 0.698547"、







 indirizzi.via ='共和国広場5'、







 indirizzi.citta ="ロンドン"、







 indirizzi.prov ="MI"







 WHERE







 numeri_di_telefono.nome ='John Doeさん"



二つのテーブル上の2つの異なるによって検証クエリーSELECT UPDATEを実行した後。 ここに彼らの結果は(黄色で強調表示)は次のとおりです。

1)表のphone_numbers

 



 phone_numbersします。SELECT * FROM

 
の名前 携帯電話
マリオロッシ 213.698547
アントニオビアンキ 987.654321
クラウディオヴェルディ 321.654987

1) アドレステーブル
 



アドレスします。SELECT * FROM

 
の名前 引用符 ・ prov
マリオロッシ 共和国の5平方 ミラノの MI
アントニオビアンキ ガリバルディ2を介して Gallarateの VA
クラウディオヴェルディ ピアッツァカブール4 コモ CO

複数のテーブルを更新する技術、それらの間の関係の実際的な利点は、結合を使用すると、単純な原理に基づいて、サーバの負荷を軽減することです:"クエリが2より優れている。"

同じカテゴリの...
E -ラーニング
MS Accessの(上級) MS Accessの(上級)
迅速かつ簡単にデータベースを作成および管理する方法を学びます。 29€から開始。
MySQLの(コース) MySQLの(コース)
オープンソースのデータベースの管理。 39€から。
SQLとデータベース(コース) SQLとデータベース(コース)
リレーショナルデータベースを作成および管理。 39€から。
スポンサーリンク