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
Vue バス メカニズム (バス) vuex を使用するだけでなく、vue 内の親子以外のコンポーネ...
オリジナルリンク: https://vien.tech/article/138序文私は、マークダウン...
目次序文状態DockerをインストールするRedisのマスターノードとスレーブノードを構成する序文以...
目次1. 父と息子のコミュニケーション1.1 親コンポーネント --> 子コンポーネント1.2...
目次1. すべて選択2. 商品の数量を増やすか減らす3. 商品の小計を変更する4. 合計と合計額を計...
次のコードは、MySQL 5.7.22 バイナリ パッケージのインストール方法を紹介しています。具体...
目次1. 通常どのようなコンテンツを処理する必要があるか2. 基本的な考え方3. 具体的な実践の詳細...
純粋な CSS で固定ヘッダーを実装するのが難しい主な理由は 2 つあります。まず、最大のシェアを持...
1. ASP.NET Web アプリケーションのテンプレートとは何ですか? それらの違いは何ですか?...
序文Zabbix は最も主流のオープンソース監視ソリューションの 1 つです。導入自体は難しくありま...
1. 通常の背景ぼかしコード: <スタイル> html, 体 { 幅: 100%; 高...
現在、プロジェクトを作成しました。インターフェースは次のとおりです。これはフレームセットを使用して行...
1. Vueプロジェクトのパッケージ化開発されたvueプロジェクトに次の名前を入力し、パッケージ化し...
私はプロジェクトの展開にAlibaba Cloudから購入したCentOSを使用しています。最近、プ...
おそらく誰もが js の実行によって DOM ツリーの解析とレンダリングがブロックされることを知って...