この記事では、SQLのサブクエリを利用して、他のテーブルのデータに基づいてデータを更新する方法について解説します。
目次
はじめに
データベースを効率よく管理するためには、しばしば他のテーブルのデータに基づいて現在のテーブルのデータを更新する必要があります。SQLにはこのような操作を効率的に行うための「サブクエリ」が存在します。本記事ではその活用方法を具体的な例とともに解説します。
サブクエリとは
サブクエリとは、一つのSQL文の中で別のSQL文が実行される仕組みです。この機能を使うことで、単一の操作で複雑なデータ操作を行えます。
基本的なサブクエリの形式
基本的なサブクエリの形式は以下のようになります。
SELECT column_name FROM table_name WHERE condition (SELECT column_name FROM another_table WHERE condition);
具体的な使用例
従業員テーブルと給与テーブル
以下の2つのテーブルを考えます。
ID | 名前 | 部門 |
---|---|---|
1 | 田中 | 人事 |
2 | 鈴木 | 営業 |
3 | 佐藤 | 技術 |
ID | 基本給 | ボーナス |
---|---|---|
1 | 300000 | 50000 |
2 | 250000 | 40000 |
3 | 400000 | 60000 |
給与テーブルのデータを基に従業員テーブルを更新
UPDATE employee SET department = '管理' WHERE id IN (SELECT id FROM salary WHERE basic_pay > 300000);
上記のSQLコマンドは、基本給が30万円以上の従業員の部門を「管理」に変更します。
まとめ
サブクエリを使用することで、他のテーブルのデータに基づいて現在のテーブルのデータを効率よく更新することができます。この機能をうまく活用することで、データベース操作が格段に効率的になります。
created by Rinker
¥4,554
(2024/11/25 11:07:48時点 Amazon調べ-詳細)
コメント