サブクエリを利用して他のテーブルのデータに基づいてデータを更新する方法

この記事では、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基本給ボーナス
130000050000
225000040000
340000060000
給与テーブル

給与テーブルのデータを基に従業員テーブルを更新

UPDATE employee SET department = '管理' WHERE id IN (SELECT id FROM salary WHERE basic_pay > 300000);

上記のSQLコマンドは、基本給が30万円以上の従業員の部門を「管理」に変更します。

まとめ

サブクエリを使用することで、他のテーブルのデータに基づいて現在のテーブルのデータを効率よく更新することができます。この機能をうまく活用することで、データベース操作が格段に効率的になります。

コメント

コメントする

目次