- SQLコマンド
- SELECT(検索)
- 参考にした書籍
SQLコマンド
今回はSELECT文のみまとめました。SQLにはもちろん検索以外にもあるんですが、SELECTだけで多くなったので他はまた今度。
SELECT(検索)
ひとつの列のデータを取得
$ SELECT 列名 FROM テーブル名;
複数の列のデータを取得
$ SELECT 列名1, 列名2, …, FROM テーブル名;
カンマで区切って複数の列名を指定すればそれらの列のデータを取得できます。
すべての列を取得
$ SELECT * FROM テーブル名;
アスタリスク(*)がすべてという意味になります。
重複を除いてデータを取得(DISTINCT)
$ SELECT DISTINCT 列名 FROM テーブル名;
例えば、以下のように重複を除いて(まとめて)くれます。
+---------+ + gender + +---------+ | male | | male | | female | | male | | female | +---------+
↓
+---------+ + gender + +---------+ | male | | female | +---------+
条件を指定してデータを取得(WHERE)
$ SELECT 列名 FROM テーブル名 WHERE 条件;
条件の部分は様々な記述が可能。
値が等しいデータ(=)
$ SELECT 列名 FROM テーブル名 WHERE 列名 = 値;
値が等しくないデータ(<> )
$ SELECT 列名 FROM テーブル名 WHERE 列名 <> 値;
列がNULLであるデータ(IS NULL)
$ SELECT 列名 FROM テーブル名 WHERE 列名 IS NULL;
列がNULLでないデータ(IS NOT NULL)
$ SELECT 列名 FROM テーブル名 WHERE 列名 IS NOT NULL;
比較演算子(<, >, <=, >=)
$ SELECT 列名 FROM テーブル名 WHERE 列名 > 値; // 値より大きい $ SELECT 列名 FROM テーブル名 WHERE 列名 < 値; // 値より小さい $ SELECT 列名 FROM テーブル名 WHERE 列名 >= 値; // 値以上 $ SELECT 列名 FROM テーブル名 WHERE 列名 <= 値; // 値以下
複数の条件を指定してデータを取得
論理演算子(AND, OR, NOT)
$ SELECT 列名 FROM テーブル名 WHERE 条件1 AND 条件2; // 条件1かつ条件2 $ SELECT 列名 FROM テーブル名 WHERE 条件1 OR 条件2; // 条件1または条件2 $ SELECT 列名 FROM テーブル名 WHERE NOT 条件; // 条件に該当しない
範囲指定(BETWEEN A AND B)
$ SELECT 列名 FROM テーブル名 WHERE BETWEEN 値1 AND 値2; // 値1から値2の範囲
有無指定(IN, NOT IN)
$ SELECT 列名 FROM テーブル名 WHERE 列名 IN (値1, 値2, …, 値n); // 値1, 値2, …, 値nの中にある $ SELECT 列名 FROM テーブル名 WHERE 列名 NOT IN (値1, 値2, …, 値n); // 値1, 値2, …, 値nの中にない
ある文字を含むデータを取得(LIKE)
LIKE演算子とワイルドカードを使ってあいまいな検索ができます。
特定の任意の文字列に一致(%)
$ SELECT 列名 FROM テーブル名 WHERE 列名 LIKE ’文字列%’; // 前方一致 $ SELECT 列名 FROM テーブル名 WHERE 列名 LIKE ’%文字列’; // 後方一致 $ SELECT 列名 FROM テーブル名 WHERE 列名 LIKE ’%文字列%’; // 列の中に指定した文字がある
より厳密な文字列の一致( _ )
任意の位置に任意の数の文字列に一致
$ SELECT 列名 FROM テーブル名 WHERE 列名 LIKE ’AAA_’; // AAAを含み最後に1文字含む4文字の文字列 $ SELECT 列名 FROM テーブル名 WHERE 列名 LIKE ’_AAA’; // AAAを含み最初に1文字含む4文字の文字列 $ SELECT 列名 FROM テーブル名 WHERE 列名 LIKE ’_AAA_’; // AAAを含み前後に1文字ずつ含む5文字の文字列
指定した文字列を含まないデータ(NOT LINE)
LIKE演算子と使用例は同じ。
$ SELECT 列名 FROM テーブル名 WHERE 列名 NOT LIKE ’文字列%’;
参考にした書籍
- 価格: 2178 円
- 楽天で詳細を見る