プログラミング

SQLの基本と活用方法

SQL(Structured Query Language)は、データベース管理システム(DBMS)でデータを操作するための標準的な言語です。SQLは、データベース内の情報を取得、操作、更新、削除するために使用される非常に強力なツールです。この記事では、SQLの基本的な構文、機能、使用方法を包括的に解説します。

1. SQLの基本構文

SQLは非常にシンプルで直感的な構文を持っています。SQLの基本的な命令は以下の通りです:

  • SELECT: データの取得

  • INSERT: データの挿入

  • UPDATE: データの更新

  • DELETE: データの削除

  • CREATE: テーブルやビューなどのオブジェクトの作成

  • ALTER: テーブルの構造変更

  • DROP: テーブルやビューなどのオブジェクトの削除

これらの命令は、SQLを使用してデータベース内で基本的な操作を行うための根本的なコマンドです。

2. SELECT文

SELECT文は、データベースからデータを取得するために最もよく使われる命令です。基本的な構文は次のようになります:

sql
SELECT 列名 FROM テーブル名;

例えば、employeesというテーブルからすべてのデータを取得したい場合、次のように記述します:

sql
SELECT * FROM employees;

ここで*は、すべての列を選択することを意味します。また、特定の列だけを取得したい場合は、列名を指定します:

sql
SELECT first_name, last_name FROM employees;

WHERE句

WHERE句は、データをフィルタリングするために使用します。特定の条件に一致するデータのみを選択できます。

sql
SELECT first_name, last_name FROM employees WHERE department = 'Sales';

このクエリは、department列が'Sales'の従業員のfirst_namelast_nameを取得します。

ORDER BY句

データを並べ替えるためには、ORDER BY句を使用します。デフォルトでは昇順(ASC)で並べ替えますが、降順(DESC)にもできます。

sql
SELECT first_name, last_name FROM employees ORDER BY last_name DESC;

このクエリは、last_nameで降順に並べた従業員の名前を取得します。

3. INSERT文

データをテーブルに挿入するには、INSERT INTO文を使用します。基本的な構文は次の通りです:

sql
INSERT INTO テーブル名 (列1, 列2, 列3) VALUES (値1, 値2, 値3);

例えば、employeesテーブルに新しい従業員のデータを挿入する場合:

sql
INSERT INTO employees (first_name, last_name, department) VALUES ('John', 'Doe', 'Marketing');

4. UPDATE文

データを更新するためには、UPDATE文を使用します。特定の条件に一致する行のデータを更新できます。

sql
UPDATE テーブル名 SET1 =1, 列2 =2 WHERE 条件;

例えば、employeesテーブルでdepartment'Sales'の従業員のlast_name'Smith'に更新する場合:

sql
UPDATE employees SET last_name = 'Smith' WHERE department = 'Sales';

5. DELETE文

データを削除するためには、DELETE文を使用します。特定の条件に一致する行を削除できます。

sql
DELETE FROM テーブル名 WHERE 条件;

例えば、employeesテーブルからdepartment'HR'の従業員を削除する場合:

sql
DELETE FROM employees WHERE department = 'HR';

6. CREATE文

新しいテーブルやその他のオブジェクトを作成するには、CREATE文を使用します。例えば、新しい従業員テーブルを作成するには次のように記述します:

sql
CREATE TABLE employees ( employee_id INT PRIMARY KEY, first_name VARCHAR(50), last_name VARCHAR(50), department VARCHAR(50) );

このクエリは、employeesという名前のテーブルを作成し、従業員ID、名前、部門の情報を格納する列を定義します。

7. ALTER文

既存のテーブルの構造を変更するには、ALTER文を使用します。例えば、employeesテーブルにemail列を追加する場合:

sql
ALTER TABLE employees ADD email VARCHAR(100);

8. DROP文

テーブルを削除するには、DROP文を使用します。例えば、employeesテーブルを削除する場合:

sql
DROP TABLE employees;

9. SQLのデータ型

SQLでは、テーブルを作成する際に、各列のデータ型を指定する必要があります。一般的なデータ型には次のようなものがあります:

  • INT: 整数型

  • VARCHAR(n): 可変長の文字列型(nは最大文字数)

  • DATE: 日付型

  • FLOAT: 浮動小数点型

10. 集計関数

SQLでは、データを集計するためにいくつかの関数を使用できます。代表的な集計関数には以下があります:

  • COUNT(): 行数をカウント

  • SUM(): 合計

  • AVG(): 平均

  • MAX(): 最大値

  • MIN(): 最小値

例えば、employeesテーブルの従業員数をカウントする場合:

sql
SELECT COUNT(*) FROM employees;

11. JOIN操作

複数のテーブルからデータを結合するためには、JOINを使用します。代表的なJOINには以下があります:

  • INNER JOIN: 両方のテーブルに存在するデータを結合

  • LEFT JOIN: 左のテーブルに存在するデータと、右のテーブルの一致するデータを結合

  • RIGHT JOIN: 右のテーブルに存在するデータと、左のテーブルの一致するデータを結合

例えば、employeesテーブルとdepartmentsテーブルを結合して、従業員とその部門を取得する場合:

sql
SELECT employees.first_name, employees.last_name, departments.department_name FROM employees INNER JOIN departments ON employees.department_id = departments.department_id;

12. トランザクション

SQLでは、データの整合性を保つためにトランザクションを使用します。トランザクションは一連のSQL操作をまとめて処理し、途中でエラーが発生した場合にすべてを元に戻す(ロールバック)ことができます。主なトランザクション制御コマンドには以下があります:

  • BEGIN TRANSACTION: トランザクションの開始

  • COMMIT: トランザクションの確定

  • ROLLBACK: トランザクションの取り消し

sql
BEGIN TRANSACTION; UPDATE employees SET department = 'Sales' WHERE department = 'Marketing'; COMMIT;

13. サブクエリ

サブクエリとは、別のSQLクエリの中に含まれるSQLクエリのことです。例えば、次のようにサブクエリを使って、特定の部門に所属する従業員を選択できます:

sql
SELECT first_name, last_name FROM employees WHERE department_id = (SELECT department_id FROM departments WHERE department_name = 'Sales');

まとめ

SQLは、データベースを操作するために欠かせない言語です。データの取得、挿入、更新、削除を行う基本的な構文に加えて、複雑な操作を可能にするさまざまな機能(集計関数、JOIN、サブクエリなど)も提供されています。これらの基本を理解することで、より効率的にデータベースを管理し、必要な情報を迅速に取得することができるようになります。

Back to top button