はじめに
SQLの基本をまとめていこうと思います!
今回は、LIKE, NOT, NULL, AND, OR演算子について、それぞれみていきます!
LIKE
LIKE
は、「ある文字列を含むデータ」を取得したい場合に使えます。
SELECT *
FROM users
WHERE language LIKE "%java%";
このようにクエリを記述ことによって、以下の表のように、java
という文字列を含むレコードを選択することができます。
「%」はワイルドカードと呼ばれるもので、どのような文字列であっても一致させますというLIKE演算子に用意された記号です。
以下のように、前後のみ一致させるということもできます。
SELECT *
FROM users
WHERE language LIKE "java%"; // languageがjavaとjavascriptのレコードを指定
SELECT *
FROM users
WHERE language LIKE "%java"; // languageがjavaのレコードのみを指定
SELECT *
FROM users
WHERE language LIKE "%script"; // languageがjavascriptとtypescriptのレコードを指定
NOT
そのままですが、否定です。一致しないデータや、その範囲を含まないと言った指定をすることができます。
SELECT *
FROM users
WHERE NOT language = "java";
SELECT *
FROM users
WHERE NOT language LIKE "java%";
NULL
中身がないという状態を扱うときに使います。
以下のように、IS NULL
とすることで、numberカラムにデータがないレコードを指定できます。
SELECT *
FROM users
WHERE number IS NULL;
逆に、NULL以外のデータを指定する場合は、以下のようにIS NOT NULL
とします。
SELECT *
FROM users
WHERE number IS NOT NULL;
数値や文字列の時のように、=
を使って= NULL
などとしないように注意が必要です。
AND, OR
WHEREに複数の条件を付けたいときに用います。
AND例
numberが2かつ前方にjavaという文字列を含むレコードを指定しています。
SELECT *
FROM users
WHERE number = 2
AND language LIKE "java%";
OR例
numberが2または前方にjavaという文字列を含むレコードを指定してみます。
SELECT *
FROM users
WHERE number = 2
OR language LIKE "java%";
おわりに
今回はLIKE, NOT, NULL, AND, ORなどを扱いました!