前編
【SQL】SELECT,FROM,WHERE,LIKEについて。 - Qiita
NOT演算子
「〇〇を含まないデータ」や「〇〇に一致しないデータ」のような条件でデータを取得したい場合は「否定」を意味する「NOT演算子」を用いる。
-- priceカラムから、1,000以上ではないデータを取得
SELECT *
FROM purchase
WHERE NOT price > 1000;
-- nameカラムが「プリン」を含まないデータを取得
SELECT *
FROM purchases
WHERE NOT name LIKE "%プリン%";
IS NULL
「カラム名 IS NULL」とすることで、「指定したカラムがNULLであるデータ」を取得できる
-- priceカラムが、NULLのものを取得。
SELECT *
FROM purchase
WHERE price IS NULL;
IS NOT NULL
「カラム名 IS NOT NULL」とすることで、「指定したカラムがNULLではないデータ」を取得できる
-- priceカラムが、NULLではないのものを取得。
SELECT *
FROM purchase
WHERE price IS NOT NULL;
AND演算子
WHEREに複数の条件を指定することができる。
「WHERE 条件1 AND 条件2」のようにすることで、条件1と条件2を共に満たすデータを検索することができ
-- categoryカラムが「IT企業」かつfunctionカラムが「独自ドメイン」であるデータを取得
SELECT *
FROM purchases
WHERE category = "IT企業"
AND function = "独自ドメイン"
OR演算子
WHEREに複数の条件を指定することができる。
「WHERE 条件1 OR 条件2」のようにすることで、条件1または条件2のどちらかを満たすデータを検索することができる。
-- categoryカラムが「IT企業」もしくはfunctionカラムが「独自ドメイン」であるデータを取得
SELECT *
FROM purchases
WHERE category = "IT企業"
OR function = "独自ドメイン"
ORDER BY
データを並び替えるために用いる。
データを並び替えるためには、「(基準となる)並べ替えたいカラム名」と「並べ方」を指定する。
並べ方は、「昇順」は「ASC」、「降順」は「DESC」と指定。
「ORDER BY」は「WHERE」と併用することが可能。
SELECT *
FROM purchases
WHERE category = "IT企業"
ORDER BY employees DESC;
LIMIT
「最大で何件取得するか」を指定するためには、「制限する」という意味の「LIMIT」を用いる。
IMITはクエリの末尾に記述することで、取得するデータの数を制限する。
「LIMIT」は「WHERE」と併用することが可能。
「ORDER BY」と「LIMIT」を併用することも可能。
SELECT *
FROM purchases
WHERE category = "IT企業"
LIMIT 100;