【初心者用】SQLのクエリ操作基礎2

タイトル通りですが、SQL初心者がクエリ操作に関して学んだことまとめていきます。

操作方法について忘れていることが分からないことが多いので、クエリ操作について基礎を学んでいきます。

1. NOT演算子

「〇〇を含まないデータ」または「〇〇に一致しないデータ」のような条件でデータを取得する場合には、「否定」を意味する「NOT演算子」を使用します。

WHEREの条件に「NOT」を置くことで、条件に当てはまらないデータを取得することができます。


SELECT * FROM テーブル名 WHERE NOT カラム名 LIKE "%特定の文字%";
SELECT * FROM テーブル名 WHERE NOT カラム名 > 1000;
※記述されている条件とは違うデータを取得

10. 集計関数

◆SUM関数

SQLで数値の合計値を計算して取得する場合はSUM関数を使用します。

「SUM(カラム名)」の様にすることで、指定したカラムに保存されたデータの合計を計算することができます。

◆SUM関数の使用方法

SUM関数はSELECTで取得するカラムに使用することで、数値の集計結果を取得することができます。


SELECT SUM(カラム名)
FROM テーブル名;

◆WHEREとSUM関数

SUM関数はWHEREと併用することができ、特定の条件で数値の合計を取得できます。
 

SELECT SUM(カラム名)
FROM テーブル名
WHERE カラム名 = "特定の文字";

2. カラムに保存されていないデータ

◆NULLについて

NULLはデータが何も保存されていない場合にNULLなります。

◆NULLのデータを取得

NULLのデータを取得するためには、「~がNULL」という意味になる「IS NULL」を使用します。

ですので、「カラム名 IS NULL」とすることで、「指定しているカラムがNULLであるデータ」の取得をすることができます。


SELECT * FROM テーブル名 WHERE カラム名 IS NULL;
※指定したカラムのデータが「NULL」であるものを取得

◆NULLではないデータを取得

また、「NULLではない」データを取得する場合には、「~ではない」という意味になるNOT演算子を使用します。

ですので、「カラム名 IS NOT NULL」の様にして使用します。


SELECT * FROM テーブル名 WHERE カラム名 IS NOT NULL;
※指定したカラム名で、「NULL」ではないものを取得する。

◆NULLに関連するデータを取得する際の注意点

「NULLのデータ」や「NULLではないデータ」では、「=」を使用することはできません。


SELECT * FROM テーブル名 WHERE カラム名 = NULL;
SELECT * FROM テーブル名 WHERE NOT カラム名 = NULL;
※「NULL」の値を探すことはできません。

3. AND演算子

「AND演算子」を使用すると、WHEREに複数の条件を指定することができます。

「WHERE 条件1 AND 条件2」とすることで、条件1と2を両方満たすデータを取得することができます。


SELECT * FROM テーブル名
WHERE name = "名前"
AND price = 1000;

4. OR演算子

OR演算子は、AND演算子と同じように複数の条件を使用することができます。

「WHERE 条件1 OR 条件2」の様に記述することで、条件1か条件2のどちらかに当てはまるデータを取得できます。


SELECT * FROM テーブル名
WHERE name = "名前"
OR price = 1000;

5. 取得したデータの並べ替え

取得したデータを並べ替える場合には、「~順番に並べる」という意味の「ORDER BY」を使用します。

また、並べ替えの際は「ORDER BY 並べ替えるカラム名 並べ方;」の様に、「並べ替えたいカラム名」と「並べ方」を指定する必要があります。


SELECT * FROM テーブル名
ORDER BY 並べ替えるカラム名 並べ方;

◆昇順と降順

「ORDER BY」の並べ方では「昇順」「降順」で並びを指定します。

 昇順は「最小から最大数値」になるもので、降順は「最大から最小数値」になる並べ方です。
 
SQLでは昇順は「ASC」で降順は「DESC」と表示します。


ASC(昇順): 1,2,3,・・・
DESC(降順): 10,9,8・・・3,2,1

◆ORDER BYの記述例

SELECT * FROM テーブル名
ORDER BY 並べ替えるカラム名 DESC;
※価格を降順に並べ替えるということになる。

◆ORDER BYをWHEREと併用

「ORDER BY」の並べ替えに関しては「WHERE」と併用して使用することができます。


SELECT * FROM テーブル名
WHERE name = "特定の名前"
ORDER BY price DESC;
※この場合だと「name」カラムの「特定の名前」を抽出
 かつ、抽出した中でpriceカラムを降順に並べ替えるになる。

6. 最大件数取得

◆LIMIT

「最大で何件取得」するのかを命令するには、「LIMIT」という「制限」という意味の命令を使用します。

「LIMIT」は検索結果の上から指定した件数だけ取得することができます。


LIMIT データ件数;

◆LIMIT記述例

クエリの末尾に「LIMIT」を記述することで取得するデータ数を制限できます。

SELECT * FROM テーブル名 LIMIT 5;

◆LIMITの併用例

また、「LIMIT」は「WHERE」と併用して使用することができます。


SELECT * FROM テーブル名 
WHERE カラム名 = "特定の文字"
LIMIT 10;

7. ORDER BYとLIMITの組み合わせについて

「LIMIT」と「ORDER BY」を併用して使用することができます。

その場合は、「LIMIT」を末尾にする必要があり、そうすることで特定の条件の上位数件を取得することができます。


SELECT * FROM テーブル名
ORDER BY カラム名 DESC
LIMIT 5;

8. 重複したデータの省略

◆DISTINCT

「DISTINCT」を使用することで、検索結果から重複するデータを除くことが可能になります。

「DISTINCT(カラム名)」とすることで、検索結果から指定したカラムの重複するデータを除くことができます。


DISTINCT(カラム名) FROM テーブル名;

9. 四則演算

SQLでは四則演算を使用する子ができ、「+、-、*、/」を使用することでカラムのデータを計算することができます。


カラム名 * 1.05 や カラム名 - 1000

◆四則演算の使用方法

SQLでの四則演算の使用方法は、DISTINCTと同じようにSELECTで取得するカラムに使用することで、計算後のデータを取得することができます。


SELECT 商品名カラム名、金額カラム名 * 1.08
FROM テーブル名