【初心者用】SQLのクエリ操作基礎2
公開日: 2024/8/1
タイトル通りですが、SQL初心者がクエリ操作に関して学んだことまとめていきます。
操作方法について忘れていることが分からないことが多いので、クエリ操作について基礎を学んでいきます。
操作方法について忘れていることが分からないことが多いので、クエリ操作について基礎を学んでいきます。
1. NOT演算子
「〇〇を含まないデータ」または「〇〇に一致しないデータ」のような条件でデータを取得する場合には、「否定」を意味する「NOT演算子」を使用します。
WHEREの条件に「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を両方満たすデータを取得することができます。
例
「WHERE 条件1 AND 条件2」とすることで、条件1と2を両方満たすデータを取得することができます。
例
SELECT * FROM テーブル名
WHERE name = "名前"
AND price = 1000;
4. OR演算子
OR演算子は、AND演算子と同じように複数の条件を使用することができます。
「WHERE 条件1 OR 条件2」の様に記述することで、条件1か条件2のどちらかに当てはまるデータを取得できます。
例
「WHERE 条件1 OR 条件2」の様に記述することで、条件1か条件2のどちらかに当てはまるデータを取得できます。
例
SELECT * FROM テーブル名
WHERE name = "名前"
OR price = 1000;
5. 取得したデータの並べ替え
取得したデータを並べ替える場合には、「~順番に並べる」という意味の「ORDER BY」を使用します。
また、並べ替えの際は「ORDER BY 並べ替えるカラム名 並べ方;」の様に、「並べ替えたいカラム名」と「並べ方」を指定する必要があります。
例
昇順は「最小から最大数値」になるもので、降順は「最大から最小数値」になる並べ方です。
SQLでは昇順は「ASC」で降順は「DESC」と表示します。
例
例
また、並べ替えの際は「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」を末尾にする必要があり、そうすることで特定の条件の上位数件を取得することができます。
例
その場合は、「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 テーブル名