SQLの基礎
SQL(Structured Query Language)は、リレーショナルデータベースの管理と操作を行うための言語です。この記事では、SQLの基本的な構文や操作について説明します。
1. SQLの基本構文
SQLの基本的な構文は以下の通りです。ここでは、データの選択、挿入、更新、削除の各操作について説明します。
データの選択(SELECT文)
SELECT column1, column2, ...
FROM table_name
WHERE condition;
例:
SELECT name, age
FROM employees
WHERE age > 30;
データの挿入(INSERT文)
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
例:
INSERT INTO employees (name, age, department)
VALUES ('John Doe', 25, 'Sales');
データの更新(UPDATE文)
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
例:
UPDATE employees
SET age = 26
WHERE name = 'John Doe';
データの削除(DELETE文)
DELETE FROM table_name
WHERE condition;
例:
DELETE FROM employees
WHERE name = 'John Doe';
2. テーブルの作成と削除
SQLでは、テーブルの作成と削除も行うことができます。
テーブルの作成(CREATE TABLE文)
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
);
例:
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
department VARCHAR(50)
);
テーブルの削除(DROP TABLE文)
DROP TABLE table_name;
例:
DROP TABLE employees;
3. テーブルの変更
テーブルの構造を変更するためには、ALTER TABLE文を使用します。
列の追加
ALTER TABLE table_name
ADD column_name datatype;
例:
ALTER TABLE employees
ADD email VARCHAR(50);
列の削除
ALTER TABLE table_name
DROP COLUMN column_name;
例:
ALTER TABLE employees
DROP COLUMN email;
列の変更
ALTER TABLE table_name
MODIFY COLUMN column_name datatype;
例:
ALTER TABLE employees
MODIFY COLUMN age SMALLINT;
4. データの集計
SQLでは、データを集計するための関数がいくつか提供されています。以下に主要な集計関数を示します。
COUNT
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
例:
SELECT COUNT(*)
FROM employees
WHERE department = 'Sales';
SUM
SELECT SUM(column_name)
FROM table_name
WHERE condition;
例:
SELECT SUM(salary)
FROM employees
WHERE department = 'Sales';
AVG
SELECT AVG(column_name)
FROM table_name
WHERE condition;
例:
SELECT AVG(age)
FROM employees;
MAX
SELECT MAX(column_name)
FROM table_name
WHERE condition;
例:
SELECT MAX(salary)
FROM employees;
MIN
SELECT MIN(column_name)
FROM table_name
WHERE condition;
例:
SELECT MIN(age)
FROM employees;
5. データの結合
複数のテーブルからデータを取得するためには、JOIN文を使用します。以下に主要な結合の種類を示します。
INNER JOIN
SELECT columns
FROM table1
INNER JOIN table2
ON table1.column = table2.column;
例:
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.id;
LEFT JOIN
SELECT columns
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;
例:
SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.id;
RIGHT JOIN
SELECT columns
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;
例:
SELECT employees.name, departments.department_name
FROM employees
RIGHT JOIN departments
ON employees.department_id = departments.id;
FULL JOIN
SELECT columns
FROM table1
FULL JOIN table2
ON table1.column = table2.column;
例:
SELECT employees.name, departments.department_name
FROM employees
FULL JOIN departments
ON employees.department_id = departments.id;
まとめ
以上が、SQLの基本的な構文と操作についての概要です。SQLは非常に強力で柔軟な言語であり、データベースの管理やデータの操作を効率的に行うことができます。基本を押さえておくことで、データ分析やアプリケーション開発において非常に役立つスキルとなります。