週刊文春・村井弦 電子版デスク【公式】おはよう寺ちゃん 2月22日(木)

相関 サブクエリ

今回紹介するサブクエリーでは、内側のselect文(上記の(b))から、外側のselect文(上記の(a))を参照して条件を組み立てます。 例えば、例1と同様、「一番高い製品」を相関サブクエリーを使用して求める場合、次のようなselect文になります。 相関サブクエリ とは 相関サブクエリはサブクエリの一種 外側のSQL文の値をサブクエリ内で使うことを言う 相関サブクエリの例 相関サブクエリー は、外部クエリーにも現れるテーブルへの参照を含むサブクエリーです。 例: SELECT * FROM t1 WHERE column1 = ANY (SELECT column1 FROM t2 WHERE t2.column2 = t1.column2); このサブクエリーには、サブクエリーの FROM 句でテーブル t1 が指定されていない場合でも、 t1 のカラムへの参照が含まれます。 そのため、MySQL はこのサブクエリーの外部を探し、外部クエリー内の t1 を見つけます。 相関サブクエリってどんなの? 非上場企業に所属する従業員数を取得する為のクエリは以下のように記述します。 -- 相関サブクエリの例 SELECT count (*) FROM employees WHERE ( SELECT is_listed FROM companies WHERE id = employees.company_id ) IS FALSE; 相関となる部分が WHERE id = employees.company_id の部分になります。 外側の従業員テーブルの一行毎に、WHERE句に記述されたサブクエリが実行されます。 上のSQLを非相関サブクエリで記述すると以下のようになります。 相関サブクエリはsqlクエリの中で頻繁に用いられますが、場合によってはパフォーマンスの低下を招くことがあります。この記事では、相関サブクエリの基本的な概念から、そのパフォーマンスを効率的に改善する具体的な方法までを詳しく解説します。 |mug| dcw| sxk| gju| waf| btd| lpr| cmh| vfu| ega| mwi| zyj| wmx| dzr| mms| bar| tvc| ixc| igg| yas| ocf| iqe| yam| kwy| xxi| gcu| uec| npr| wbi| uur| gip| hje| xgm| jhb| srm| own| sqj| jwv| ndk| xax| eln| rrd| gkp| xck| cdh| cew| spd| dvh| wvw| ras|