IT技術関連SQL

SQL#6 基本的なデータ操作

SQL

はじめに

こんにちは、シルです。
SQLの学習にあたり、学んだことメモしておきます。
学習にお役立てください。

参考までに…
SQLコマンド集:基本から応用

前回までの内容です
SQL#1 環境準備と基本操作
SQL#2 テーブルとデータベースの管理
SQL#3 ユーザー管理と権限の設定
SQL#4 サーバーステータスとインデックス管理
SQL#5 データベースのサイズ管理と構造確認

学習の概要

本記事では、SQLの基本操作であるCRUD(Create, Read, Update, Delete)操作に加え、副問い合わせ(サブクエリ)の使用方法を学びます。
これらは、データベースを扱う上で最も頻繁に使われる操作です。
実務でも非常に重要で、効率的にデータの追加・取得・更新・削除を行うために習得が必須です。

含まれる操作

SQL操作は以下の通り

1. INSERT – データの挿入

2. SELECT – データの取得

3. UPDATE – データの更新

4. DELETE – データの削除

5. 副問い合わせ(サブクエリ)

実践

1. INSERT – データの挿入

従業員のデータをテーブルに追加します。

INSERT INTO Employees (EmployeeID, FirstName, LastName, Department, Salary)
VALUES (6, 'Michael', 'Scofield', 'HR', 50000);

2. SELECT – データの取得

特定の条件で従業員のデータを取得します。

SELECT FirstName, LastName, Salary
FROM Employees
WHERE Salary > 50000;

3. UPDATE – データの更新

従業員の給与を更新します。

UPDATE Employees
SET Salary = Salary * 1.10
WHERE EmployeeID = 2;

4. DELETE – データの削除

特定の従業員のデータを削除します。

DELETE FROM Employees
WHERE EmployeeID = 1;

5. 副問い合わせ(サブクエリ)

副問い合わせを使用して、平均給与よりも高い給与を持つ従業員を抽出します。

SELECT FirstName, LastName
FROM Employees
WHERE Salary > (SELECT AVG(Salary) FROM Employees);

テストデータの準備

まず、従業員のデータを格納する「Employees」テーブルを作成します。
次に、サンプルデータを挿入して、上記のSQL操作を実践できる環境を整えます。

CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    Department VARCHAR(50),
    Salary DECIMAL(10, 2)
);

-- サンプルデータの挿入
INSERT INTO Employees (EmployeeID, FirstName, LastName, Department, Salary)
VALUES 
(1, 'John', 'Doe', 'HR', 50000),
(2, 'Jane', 'Smith', 'IT', 60000),
(3, 'Mike', 'Johnson', 'Finance', 55000),
(4, 'Sara', 'Williams', 'HR', 52000),
(5, 'James', 'Brown', 'IT', 61000);

課題

1. INSERT
 新しい従業員「Emily Davis」を「Marketing」部署に追加し、給与は45000とします。

2. SELECT
 すべてのIT部門の従業員を抽出し、名前と給与を表示してください。

3. UPDATE
 すべての「HR」部門の従業員の給与を5%増加させてください。

4. DELETE
 「Finance」部門の従業員「Mike Johnson」を削除してください。

5. 副問い合わせ
 平均給与よりも高い給与を持つ「IT」部門の従業員を表示してください。

まとめ

今回の記事では、データベース操作の基礎となるCRUD操作と、副問い合わせを学びました。
これらの基本操作は、実務で頻繁に使用されるため、確実に習得することが重要です。
次回は、これらの操作を拡張し、部分一致検索や正規表現を使った柔軟なデータ操作を学びます。

コメント

タイトルとURLをコピーしました