データの取得【SQL】
SQL(エスキューエル)とは、データベースに送るクエリ(命令)を書くための言語です。拡張子は「.sql」です。
データベース
データベースとは、テキストや数値などのデータを保存するためのツールです。上のような表でデータを管理しています。
表のことを「テーブル」、縦の列のことを「カラム」、横の行のことを「レコード」と呼びます。テーブルは複数作成することができます。
SELECT
「SELECT カラム名」を用いると、どのカラムのデータを取得するか選ぶことができます。複数のカラムを指定する場合は「,(コンマ)」で区切ります。
全てのカラムを取得する場合「*(アスタリスク)」を使います。
FROM
「FROM テーブル名」を用いると、どのテーブルのカラムかを選ぶことができます。SQLでは、文末には「;(セミコロン)」を付けます。
WHERE
「WHERE カラム名」を用いると、どこのレコードを取得するかの条件を決めることができます。上の記述では「category」が「ブログ」であるレコードを取得します。
データ型というルールに則り、テキストは「"(ダブルクォーテーション)」で囲みます。
データ型
- 数値データ「1000」
- 日付データ「"2020-05-01"」
- テキストデータ「"こんにちは"」
データ型とは、データの種類を表すものです。日付データはテキストデータと同様に「"(ダブルクォーテーション)」で囲みます。
比較演算子
WHEREの条件では、比較演算子を使うことができます。
▼比較演算子の振り返り
- A > B AはBより大きい
- A >= B AはB以上
- A < B AはBより小さい
- A <= B AはB以下
日付データにも比較演算子を使うことができます。
上の記述は「2020-05-01 以前のデータ」を検索します。
LIKE演算子
LIKE演算子を用いると、指定した文字を含むデータを取得することができます。
ワイルドカード
ワイルドカードとは、どんな文字列にも一致することを指す記号です。
上記のように文字(コーヒー)をワイルドカード(%)で囲んで使用しています。
▼「コーヒー」を含むデータを全て取得します。
- コーヒー
- エスプレッソコーヒー
- コーヒー牛乳
- プレミアコーヒーゼリー
▼前方一致
「〇〇%」とした場合は、指定した文字で始まるデータを取得します。
- コーヒー
- コーヒー牛乳
▼後方一致
「%〇〇」とした場合は、指定した文字で終わるデータを取得します。
- コーヒー
- エスプレッソコーヒー
NOT演算子
NOT演算子を用いると、条件を満たさないデータを取得することができます。
上記の場合は「コーヒー」含む値以外が取得されます。
比較演算子にも使用可能です。
NULL
NULLとは、データが何も保存されていないことを示します。
「カラム名 IS NULL」を用いると、指定したカラムがNULLであるデータを取得することができます。
「カラム名 IS NOT NULL」を用いると、NULLではないデータを取得します。
AND演算子
「WHERE 条件1 AND 条件2」のように「AND」を用いると、複数の条件を指定することができます。
OR演算子
「WHERE 条件1 OR 条件2」のように「OR」用いると、2つの条件のどちらかを満たすデータを検索することができます。
ORDER BY
「ORDER BY」を用いると、カラムの並べ替えをすることができます。
- ASC(昇順): 1,2,3...100 小 → 大
- DESC(降順): 100...3,2,1 大 → 小
「ORDER BY」は「WHERE」との併用可能です。
LIMIT
「LIMIT」を用いると、取得するデータ数を制限することができます。
「LIMIT」も「WHERE」との併用可能です。