SQL (Structured Query Language) は、リレーショナルデータベース管理システム (RDBMS) に対して操作を行うための言語です。
リレーショナルデータベースについては他記事にて解説していますので、そちらをご覧ください。
まずはSQLの基本的な構文とその使用例について以下に説明します。
基本構文
SELECT カラム名1, カラム名2 FROM テーブル名 WHERE 条件 ORDER BY カラム名 [ASC|DESC] LIMIT 数;
- SELECT: 取得するカラムを指定します。
- FROM: データを取得するテーブルを指定します。
- WHERE: 条件を指定します。条件に一致するデータのみが選択されます。
- ORDER BY: 結果セットを並べ替えるカラムを指定します。
- LIMIT: 取得するデータの最大数を指定します。
各部の詳細説明
細かい役割などについてはサンプルSQL文に基づいて説明します。
SELECT id, name FROM member WHERE id > 10 ORDER BY id DESC LIMIT 10;
- SELECT id, name:
id
とname
カラムのデータを取得することを指定しています。- 説明: SELECT句は、取得したいカラムを指定します。複数のカラムを指定する場合、カンマで区切ります。
- FROM member:
- データを取得する対象テーブルは
member
テーブルです。 - 説明: FROM句は、データを取得するテーブルを指定します。データベース内のテーブル名を指定します。
- データを取得する対象テーブルは
- WHERE id > 10:
id
が10より大きいレコードを対象にします。- 説明: WHERE句は、条件を指定します。条件に一致するレコードのみが選択されます。比較演算子(>, <, = など)や論理演算子(AND, OR など)を使用します。
- ORDER BY id DESC:
id
カラムを基準に降順 (DESC
) で並べ替えます。- 説明: ORDER BY句は、結果セットの並べ替え順序を指定します。ASCは昇順、DESCは降順を意味します。
- LIMIT 10:
- 取得するレコードの数を最大10件に制限します。
- 説明: LIMIT句は、結果セットの行数を制限します。指定した数だけの行が返されます。
まとめ
このサンプルのSQL文は、member
テーブルの id
が10より大きいレコードの id
と name
カラムを取得し、id
の降順で並べ替え、最大10件の結果を取得することを意味しています。
普段サーバーを管理されていない方、システムを管理・制作されていない方などはSQL文に触れる機会も少ないと思いますが、レンタルサーバーを借りると大体データベースも触れる環境が用意されているので、是非、実験にサンプルのSQL文を入れてみたり、数値を変えて試してみたりなどしていただいて理解をふかめていただけたらと思います。