1.MySQL UPDATE JOIN構文MySQL では、UPDATE ステートメントで アップデートT1、T2、 [内部結合 | 左結合] T1 ON T1.C1 = T2.C1 T1.C2 = T2.C2 に設定し、 T2.C3 = 式 WHERE条件 MySQL の まず、 次に、使用する結合のタイプ( 3 番目に、更新する 4 番目に、WHERE 句の条件を使用して、更新する行を指定します。 2. 例まず、これらの例では新しいサンプル データベース (
次のステートメントは、 empdbが存在しない場合はデータベースを作成します。 empdbを使用します。 --テーブルを作成する CREATE TABLEのメリット( パフォーマンス INT(11) NOT NULL, パーセンテージ FLOAT NOT NULL、 プライマリキー(パフォーマンス) ); 従業員テーブルを作成する( emp_id INT(11) NOT NULL AUTO_INCREMENT, emp_name VARCHAR(255) NOT NULL、 パフォーマンス INT(11) デフォルト NULL, 給与 FLOAT デフォルト NULL、 主キー (emp_id)、 制約 fk_performance FOREIGN KEY (パフォーマンス) 参考文献 メリット(パフォーマンス) ); -- 功績表にデータを挿入する メリット(パフォーマンス、パーセンテージ)に挿入 値(1,0)、 (2,0.01)、 (3,0.03)、 (4,0.05)、 (5,0.08); -- 従業員テーブルにデータを挿入する 従業員に挿入(従業員名、業績、給与) VALUES('メアリー・ドゥー', 1, 50000), (「シンディ・ミンス」、3、65000)、 (『スー・グリーンスパン』、4、75000)、 (「グレース・デル」、5、125000)、 (「ナンシー・ジョンソン」、3、85000)、 (「ジョン・ドゥ」、2、45000)、 (「リリーブッシュ」、3、55000) 2.1 MySQL UPDATE JOIN INNER JOIN句を使用した例 従業員の給与をその仕事のパフォーマンスに基づいて調整したいとします。 上記のクエリはどのように機能しますか? mysql> select * from employees; -- 以前のデータを更新します+--------+---------------+------------+--------+ | 従業員 ID | 従業員名 | 業績 | 給与 | +--------+---------------+-------------+---------+ | 1 | メアリー・ドゥ | 1 | 50000 | | 2 | シンディ・ミンス | 3 | 65000 | | 3 | スー・グリーンスパン | 4 | 75000 | | 4 | グレースデル | 5 | 125000 | | 5 | ナンシー・ジョンソン | 3 | 85000 | | 6 | ジョン・ドゥ | 2 | 45000 | | 7 | リリーブッシュ | 3 | 55000 | +--------+---------------+-------------+---------+ 7行セット mysql> 従業員の更新 内部結合 メリット ON employees.performance = merits.performance セット salary = salary + salary * percentage; -- 接続更新クエリの実行が成功しました。6 行が影響を受けました。 一致した行: 7 変更された行: 6 警告: 0 mysql> select * from employees; -- 更新されたデータ+--------+---------------+------------+--------+ | 従業員 ID | 従業員名 | 業績 | 給与 | +--------+---------------+-------------+---------+ | 1 | メアリー・ドゥ | 1 | 50000 | | 2 | シンディ・ミンス | 3 | 66950 | | 3 | スー・グリーンスパン | 4 | 78750 | | 4 | グレースデル | 5 | 135000 | | 5 | ナンシー・ジョンソン | 3 | 87550 | | 6 | ジョン・ドゥ | 2 | 45450 | | 7 | リリーブッシュ | 3 | 56650 | +--------+---------------+-------------+---------+ 7行セット
従業員の更新 内部結合 メリット ON employees.performance = merits.performance セット 給与 = 給与 + 給与 * パーセンテージ ここで、 employees.performance > 1; 2.2 MySQL UPDATE JOIN LEFT JOIN を使用した例 会社が 2 人の新しい従業員を雇ったとします。 従業員に挿入(従業員名、業績、給与) VALUES('ジャック・ウィリアム',NULL,43000), (「リッキー・ボンド」、NULL、52000) これらの従業員は新入社員であるため、 mysql> SELECT * FROM 従業員; +--------+---------------+-------------+---------+ | 従業員 ID | 従業員名 | 業績 | 給与 | +--------+---------------+-------------+---------+ | 1 | メアリー・ドゥ | 1 | 50000 | | 2 | シンディ・ミンス | 3 | 66950 | | 3 | スー・グリーンスパン | 4 | 78750 | | 4 | グレースデル | 5 | 135000 | | 5 | ナンシー・ジョンソン | 3 | 87550 | | 6 | ジョン・ドゥ | 2 | 45450 | | 7 | リリーブッシュ | 3 | 56650 | | 8 | ジャック・ウィリアム | NULL | 43000 | | 9 | リッキー・ボンド | NULL | 52000 | +--------+---------------+-------------+---------+ 9行セット 新入社員の給与を計算する場合、業績データが 従業員の更新 左結合 メリット ON employees.performance = merits.performance セット 給料 = 給料 + 給料 * 0.015 どこ merits.percentage が NULL です。 実行結果は次のとおりです。 mysql> 従業員の更新 左結合 メリット ON employees.performance = merits.performance セット 給料 = 給料 + 給料 * 0.015 どこ merits.percentage が NULL です。 クエリは正常、2 行が影響を受けました 一致した行: 2 変更された行: 2 警告: 0 mysql> 従業員から * を選択します。 +--------+---------------+-------------+---------+ | 従業員 ID | 従業員名 | 業績 | 給与 | +--------+---------------+-------------+---------+ | 1 | メアリー・ドゥ | 1 | 50000 | | 2 | シンディ・ミンス | 3 | 66950 | | 3 | スー・グリーンスパン | 4 | 78750 | | 4 | グレースデル | 5 | 135000 | | 5 | ナンシー・ジョンソン | 3 | 87550 | | 6 | ジョン・ドゥ | 2 | 45450 | | 7 | リリーブッシュ | 3 | 56650 | | 8 | ジャック・ウィリアム | NULL | 43645 | | 9 | リッキー・ボンド | NULL | 52780 | +--------+---------------+-------------+---------+ 9行セット 例 # 単一テーブル結合 bbs_uhome_card_activate ca を更新し、bbs_uhome_card_rules cr を ca.card_brach=cr.card_bach に設定し、ca.create_user=cr.create_user を設定します。 # 複数テーブルの結合 bbs_uhome_card_order co を更新し、 bbs_uhome_card_order_record cor を co.order_no=cor.order_no で内部結合し、 bbs_uhome_card_activate ca を cor.card_no=ca.card_no で結合し、 co.create_user=ca.create_user を設定します。 これで、MySQL ジョイント テーブル更新データの詳細な例に関するこの記事は終了です。MySQL ジョイント テーブル更新データに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Tomcat サーバーの設定と Web プロジェクトの公開に関する IDEA グラフィック チュートリアル
>>: テーブルの動的な色の変更を実現するJavaScript
MySql Nullフィールド判定とIFNULL失敗処理ps: (プロセスを表示したくない場合は、S...
<br />ウェブサイトのアクセス速度はウェブサイトのトラフィックに直接影響を及ぼし、ウ...
ディスプレイ定義IDテーブルに定義された自動増分IDが上限に達した場合、次のIDを申請する際に得られ...
この記事では、Docker コンテナとフロントエンド プロセスの関係と、コンテナを永続的に実行できる...
MySQL テーブルでの接続方法は実は非常に簡単なので、ここではその特徴を簡単にリストします。テーブ...
序文テストを行う際、大量のデータによる負荷に耐えるプロジェクトの能力をテストするために、通常はテスト...
目次1 nginxの紹介1 nginxとは何か2 つのアプリケーション シナリオ2 nginxのイン...
最初にコード、次にテキストコードをコピーコードは次のとおりです。 <!DOCTYPE html...
Vim は Linux でよく使用されるテキスト エディターです。 Vim は、Sublime や ...
問題の説明Tencent Cloud CentOS7にnginxをインストールするsudo yum ...
目次1. 配列の分解2. オブジェクトの分解3. 不完全な解体4. 分割代入を使用して変数交換を実装...
Docker Compose は、Docker コンテナ クラスターのオーケストレーションを実現しま...
MySQL はリレーショナル データベース管理システムです。リレーショナル データベースは、すべて...
<br />一部のWebサイトでアップロードする場合、「参照」ボタンをクリックすると[フ...
まず、setIntervalはフックとしてカプセル化されます👇 'react' から...