SQL(Structured Query Language)は、リレーショナルデータベースの操作や管理を行うための言語です。データベースの操作手順を記述して、データを追加・更新・削除・参照することができます。
SQLの基本構文
SELECT文
データベースからデータを取得するために使用するSELECT文の基本構文は以下の通りです。
SELECT [カラム名1], [カラム名2], ... FROM [テーブル名];
例えば、employeesテーブルから名前と年齢の情報を取得する場合は以下のようになります。
SELECT name, age FROM employees;
WHERE句
取得したいデータに条件を指定する場合は、WHERE句を使用します。
SELECT [カラム名1], [カラム名2], ... FROM [テーブル名] WHERE [条件式];
例えば、employeesテーブルから年齢が30歳以下の人の名前と年齢の情報を取得する場合は以下のようになります。
SELECT name, age FROM employees WHERE age <= 30;
INSERT文
データベースに新しいデータを追加するために使用するINSERT文の基本構文は以下の通りです。
INSERT INTO [テーブル名] ([カラム名1], [カラム名2], ...) VALUES ([値1], [値2], ...);
例えば、employeesテーブルに新しい人を追加する場合は以下のようになります。
INSERT INTO employees (name, age) VALUES ('山田太郎', 25);
UPDATE文
データベースの既存のデータを更新するために使用するUPDATE文の基本構文は以下の通りです。
UPDATE [テーブル名] SET [カラム名1] = [値1], [カラム名2] = [値2], ... WHERE [条件式];
例えば、employeesテーブルで名前が山田太郎の人の年齢を30歳に更新する場合は以下のようになります。
UPDATE employees SET age = 30 WHERE name = '山田太郎';
DELETE文
データベースの既存のデータを削除するために使用するDELETE文の基本構文は以下の通りです。
DELETE FROM [テーブル名] WHERE [条件式];
例えば、employeesテーブルで年齢が30歳以上の人の情報を削除する場合は以下のようになります。
DELETE FROM employees WHERE age >= 30;
SQLの応用機能
JOIN
JOINは、複数のテーブルから必要なデータを取得するための機能です。例えば、employeesテーブルとdepartmentsテーブルをJOINして、社員の所属部署名を取得する場合は以下のようになります。
SELECT employees.name, departments.department_name FROM employees JOIN departments ON employees.department_id = departments.department_id;
GROUP BY
GROUP BYは、集計したいデータをグループ化するための機能です。例えば、employeesテーブルで部署ごとに平均年齢を取得する場合は以下のようになります。
SELECT department_id, AVG(age) FROM employees GROUP BY department_id;
ORDER BY
ORDER BYは、データを並び替えるための機能です。例えば、employeesテーブルで年齢が若い順に並べたい場合は以下のようになります。
SELECT * FROM employees ORDER BY age ASC;
まとめ
SQLは、データベースの操作や管理を行うための言語です。SELECT文でデータの取得、INSERT文でデータの追加、UPDATE文でデータの更新、DELETE文でデータの削除ができます。JOIN、GROUP BY、ORDER BYなどの応用機能も使用でき、複雑な操作も可能です。