LoginSignup
2
0

More than 1 year has passed since last update.

【SQL】LIKE, NOT, NULL, AND, OR

Last updated at Posted at 2021-05-22

はじめに

SQLの基本をまとめていこうと思います!
今回は、LIKE, NOT, NULL, AND, OR演算子について、それぞれみていきます!

LIKE

LIKEは、「ある文字列を含むデータ」を取得したい場合に使えます。

SELECT * 
FROM users
WHERE language LIKE "%java%";

このようにクエリを記述ことによって、以下の表のように、javaという文字列を含むレコードを選択することができます。

ScreenShot 2021-05-22 2.15.31.png

「%」はワイルドカードと呼ばれるもので、どのような文字列であっても一致させますというLIKE演算子に用意された記号です。

以下のように、前後のみ一致させるということもできます。

SELECT * 
FROM users
WHERE language LIKE "java%"; // languagejavajavascriptのレコードを指定

SELECT * 
FROM users
WHERE language LIKE "%java"; // languagejavaのレコードのみを指定

SELECT * 
FROM users
WHERE language LIKE "%script"; // languagejavascripttypescriptのレコードを指定

NOT

そのままですが、否定です。一致しないデータや、その範囲を含まないと言った指定をすることができます。

SELECT * 
FROM users
WHERE NOT language = "java";

ScreenShot 2021-05-22 2.40.06.png

SELECT * 
FROM users
WHERE NOT language LIKE "java%";

ScreenShot 2021-05-22 2.40.42.png

NULL

中身がないという状態を扱うときに使います。
以下のように、IS NULLとすることで、numberカラムにデータがないレコードを指定できます。

SELECT * 
FROM users
WHERE number IS NULL;

ScreenShot 2021-05-22 2.44.50.png

逆に、NULL以外のデータを指定する場合は、以下のようにIS NOT NULLとします。

SELECT * 
FROM users
WHERE number IS NOT NULL;

ScreenShot 2021-05-22 2.42.09.png

数値や文字列の時のように、=を使って= NULLなどとしないように注意が必要です。

AND, OR

WHEREに複数の条件を付けたいときに用います。

AND例
numberが2かつ前方にjavaという文字列を含むレコードを指定しています。

SELECT * 
FROM users
WHERE number = 2
AND language LIKE "java%";

ScreenShot 2021-05-22 2.53.27.png

OR例
numberが2または前方にjavaという文字列を含むレコードを指定してみます。

SELECT * 
FROM users
WHERE number = 2
OR language LIKE "java%";

ScreenShot 2021-05-22 2.55.53.png

おわりに

今回はLIKE, NOT, NULL, AND, ORなどを扱いました!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0