はじめに
業務でデータベース(DB)の確認を行う際、特に使用頻度が高いのがSELECT文になります。ここでは、SELECT文の基本的な使い方をメモとしてまとめていきます。
書き方(役割)
SELECT name -- どのカラムのデータを取得するのか?
FROM purchases; -- どのテーブルから取得するのか?
WHERE condition; -- どの条件に基づいてデータを取得するのか?
*SQLは大文字と小文字を区別しないため、小文字で記述しても問題ありません。
セクション1: SELECTコマンドの基本
・ 基本構文:
SELECT name, email FROM customers;
役割:特定のカラムを選択してデータを取得します。
意味:顧客テーブル(customers)から名前(name),メールアドレス(email)を取得
・ すべてのカラムを選択:
SELECT * FROM products;
役割:テーブル内のすべてのカラムを取得します。
意味:商品テーブルからすべてのカラムを取得する
・ WHERE句による条件指定:
SELECT * FROM sales WHERE amount >= 1000;
役割:特定の条件に一致するデータを取得する
意味:売上テーブル(sales)から金額(amount)が1000以上のデータのすべてのカラムを取得する
WHERE句で利用できる代表的な演算子
1.比較演算時
・ = : 等しい
SELECT * FROM products WHERE name = "チョコレート"
・ <> または != : 等しくない
SELECT * FROM products WHERE name <> "チョコレート"
・ < : より小さい
SELECT * FROM products WHERE price < 100;
・ > : より大きい
SELECT * FROM products WHERE price > 100;
・ <= : 以下
SELECT * FROM products WHERE price <= 100;
・ >= : 以上
SELECT * FROM products WHERE price >= 100;
2.論理演算時
・ AND : 両方の条件が真(true)である場合
SELECT * FROM products WHERE name = "チョコレート" AND price >=100;
・ OR : いずれかの条件が真(true)である場合
SELECT * FROM products WHERE name = "チョコレート" OR price >=100;
・ NOT : 条件が偽(false)である場合
SELECT * FROM products WHERE NOT name = "チョコレート";
3.その他の演算子
・ BETWEEN : 範囲内にあるかどうか
SELECT * FROM products WHERE price BETWEEN 500 AND 1000;
・ IN : リスト内にあるかどうか
SELECT * FROM products WHERE name IN('チョコレート', 'ポテトチップス', 'アイス');
・ LIKE: パターンに一致するかどうか(ワイルドカードを使用)
SELECT * FROM customers WHERE name LIKE 'A%'; -- Aで始まる
SELECT * FROM customers WHERE name LIKE '%son'; -- sonで終わる
SELECT * FROM customers WHERE name LIKE '%an%'; -- anを含む
最後に
見返した際にスッと入ってくるようにブラッシュアップしていきたいと思います。