SQL初心者の人に是非知ってほしい書き方である「サブクエリ」について解説していこうと思います。
サブクエリとは、全体のテーブルから一部を抜き出して一つのテーブルを作成するものです。
【初心者必見】SQLのサブクエリを徹底解説!!
サブクエリの基本
サブクエリを具体例に沿ってみていきましょう。
下のようなデータがあり、男性(sex = 1)と女性(sex = 0)で分けて整理したいと考えたとします。
こんな場面でサブクエリが役立ちます!!
name | age | sex | sports |
Bob | 20 | 1 | baseball |
Judy | 19 | 0 | football |
Kate | 24 | 0 | tennis |
Mary | 22 | 0 | baseball |
Mike | 22 | 1 | tennis |
基本的な書き方である「WITH」句についてみてみましょう!!
下のクエリが、男性だけを抜き出してmanという名前のサブクエリを作ったものです。
# 男性だけ抽出
WITH man as {
SELECT *
FROM list
WHERE sex = 1
}
めちゃくちゃ簡単ですよね!!上で作成したmanに対して続けてSELECTを書いていくことができます。
# 男性だけ抽出
WITH man as {
SELECT *
FROM list
WHERE sex = 1
}
# manに対してクエリを書ける!
SELECT *
FROM man
WHERE sports = "baseball"
このように男性だけのテーブルを作成した後に、baseballをやっている人を取り出すことができます!!!
SQL初心者の人はぜひ覚えてください。サブクエリを使用するとコードの頭の整理がしやすくなるし、可読性も上がるし良いことだらけです😊
UdemyのSQL講座がおすすめなので余裕があるひとは是非!!
はじめてのSQL ・データ分析入門 -データベースのデータをビジネスパーソンが現場で活用するためのSQL初心者向コース
サブクエリの応用
複数のサブクエリを作成する方法を解説していきます!!
男性と女性それぞれのサブクエリを作成していきます。
特に難しいことはありません。下のコード例をみてください!
# 男性だけ抽出
WITH man as {
SELECT *
FROM list
WHERE sex = 1
}
, woman as{
#女性だけ抽出
SELECT *
FROM list
WHERE sex = 1
}
# manに対してクエリを書ける!
SELECT *
FROM man
WHERE sports = "baseball"
カンマで続けて書くだけです笑!!
WITHを連続で書いたらエラーが出てしまうので注意が必要です。
まとめ
いかがだったでしょうか??
SQLはデータベースでデータを抽出するのに使用し、初心者の人でも簡単に扱えるのが特徴です。
今後もデータ解析が世の中で流行っていくと思いますので、身につけたいプログラミング言語の一つですね!!
サブクエリを身につけてSQLを使いこなしましょう!!!