0
0

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 1 year has passed since last update.

サブクエリ

0
Last updated at Posted at 2025-06-18

についても---

サブクエリ(副問い合わせ)とは?

  • サブクエリとは、「クエリ(問い合わせ)」の中に、さらに別のクエリを含める書き方のこと。
  • 主にSELECT文内やWHERE句、FROM句などで使われる。
  • サブクエリの結果がメインのクエリの条件やデータとして利用される。

サブクエリの主な使い方

  1. WHERE句での利用
    • 例:特定の条件に合致するデータのみを抽出する際に使う
    SELECT * FROM users WHERE id IN (SELECT user_id FROM orders WHERE total > 10000);
    
  2. FROM句での利用(インラインビュー)
    • サブクエリの結果を一時的なテーブルのように利用
    SELECT name, total FROM (SELECT user_id, SUM(amount) AS total FROM orders GROUP BY user_id) AS t;
    
  3. SELECT句での利用
    • 各行に対してサブクエリを評価し、列として値を返す
    SELECT name, (SELECT COUNT(*) FROM orders WHERE user_id = users.id) as order_count FROM users;
    

サブクエリの種類

  • スカラーサブクエリ
    1件だけ値を返すサブクエリ

  • 行サブクエリ
    1件のレコード(複数列)を返すサブクエリ

  • テーブルサブクエリ
    複数行・複数列の結果を返すサブクエリ


サブクエリ利用時の注意点

  • サブクエリはネストが深い場合、パフォーマンスが低下しやすい
  • 場合によってはJOINやWITH句(共通テーブル式)の方が最適なケースもある
  • インデックスの効き方に影響が出る場合がある

まとめ

  • サブクエリは複雑なデータ抽出や集計に便利
  • 使いすぎによるパフォーマンス低下に注意
  • 時と場合によって使い分けが必要

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?