LoginSignup
0
1

More than 1 year has passed since last update.

SQL、select文where句での副問い合わせ

Posted at

副問い合わせとは

select文、update文、insert文、delete文内で、あるselect文の結果を使用すること。
サブクエリとも呼ばれる。(クエリ=問い合わせ)

select文では、where句、from句、select句、having句で使用できる。
今回はそのうちのwhere句での副問い合わせについてまとめます。

select文where句での副問い合わせ

今回は下記2テーブルを用意してみました。
「PERSONAL_INFO_TBL」で従業員の基本データを管理し、
「JOB_CATEGORY_TBL」でその人の業務内容を管理しているようなイメージです。

PERSONAL_INFO_TBL

ID NAME AGE JOB_ID
1 齋藤 20 101
2  佐藤   25  102
3 山田 30 103

JOB_CATEGORY_TBL

ID CATEGORY
101 エンジニア
102 営業
103 企画

では「PERSONAL_INFO_TBL」から「JOB_ID = 102」のデータを、
副問い合わせを使って取得したいと思います。

SELECT * FROM PERSONAL_INFO_TBL WHERE JOB_ID = (SELECT ID FROM JOB_CATEGORY_TBL WHERE ID = 102);

個人的に()内を102と読み替えるとわかりやすかったです。
副問い合わせ文では、「JOB_CATEGORY_TBL」から102という値を取得しています。

副問い合わせのメリット

主に下記が挙げられます。

・複数のSQL文を1文で記載することができる
・どのテーブルのデータなのかひと目で理解できるなど、可読性が高い
・結合をする必要がなくなる

さいごに

ここまで読んでいただきありがとうございます!
現場で副問い合わせを使用していた際に自信がなかったため、
今回は自分自身の復習と整理のために記事にまとめてみました。
自分の記録が誰かのお役に立てると嬉しいです。。

0
1
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
0
1