2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

現場で使ったSQLの句や関数

Posted at

現場ででデータベースの中身を確認する作業を行なっていて初めて使用する句・関数・演算子が多くあったので、忘備録として残しておく。
自分はまだ経験も浅く、ググっても求めている内容になかなかたどり着けなかったので、自分なりに残しておくことですぐに見返せるようにしておきたいという考えから本記事を残す。

索引的な感じで残すので詳細の部分までは記載しない。

IS NULL

主にWHERE句の条件の中で使用する。
関数名の通り、値がNULLのものをチェックして抽出してくれる。

・使用例

テーブルサンプル(usersテーブル)

id name age
1 katou
2 saitou 34
3 tanaka 22
SELECT * FROM users WHERE age IS NULL;

出力結果

id name age
1 katou

IS NOT NULL

IS NULLと逆で値がNULLではないものを抽出してくれる演算子。

id name age
1 katou
2 saitou 34
3 tanaka 22
SELECT * FROM users WHERE age IS NOT NULL;

出力結果

id name age
2 saitou 34
3 tanaka 22

UNION

2つのSELECTの抽出結果を統合することができる。

users1

id name age
1 katou 33
2 saitou 34
3 tanaka 22

users2

id name age
4 miyauchi 25
5 miyasako 18
SELECT * FROM users1
UNION
SELECT * FROM users2;

出力結果

id name age
1 katou 33
2 saitou 34
3 tanaka 22
4 miyauchi 25
5 miyasako 18

これと同じような句でUNION ALLというものがある。

違いは重複を含めるか含めないかである。

UNION:重複を含まない

UNION ALL:重複を含む

IN

IN句で指定した値に一致するデータを抽出することができる。

id name age
1 katou 33
2 saitou 34
3 tanaka 22
SELECT * FROM users WHERE name IN('katou', 'tanaka');

出力結果

id name age
1 katou 33
3 tanaka 22

NOT IN

IN句の逆で指定した値に一致しないデータを抽出することができる。

MAX

指定した列名の中で最大値が含まれるレコードを取得する関数。

id name age
1 katou 33
2 saitou 34
3 tanaka 22
SELECT MAX(age) AS maxAge FROM users;

出力結果

id name age
2 saitou 34

MAX関数とは逆で最小値を抽出するMIN関数がある。

GROUP BY

指定したカラムの値をキーにしてグループに分けることができる。

id name age
1 katou 33
2 saitou 34
3 tanaka 22
4 oono 34
5 saitou 53
6 saitou 31
7 tanaka 27
SELECT name FROM users GROUP BY name; 

出力結果

name
katou
saitou
tanaka
oono

GROUP BYと集約関数を合わせて使用することができる。
現場ではCOUNT関数を使用することでPK重複が発生しているレコードの調査を行ったりした。

SELECT name, COUNT(name) AS 重複数 FROM users GROUP BY name;
name 重複数
katou 1
saitou 3
tanaka 2
oono 1

今後も新しいものを使用したら更新していく予定。

2
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?