12.2.8.5. 行サブクエリ
この時点までの話は、単一値や値のカラムを返すサブクエリなどのような、
スカラやカラム サブクエリに関しての物でした。行サブクエリ は単列を戻し、
ひいては複数のカラム値を返す事ができるサブクエリ異型です。ここに2つ例があります。
SELECT * FROM t1 WHERE (1,2) = (SELECT column1, column2 FROM t2);
SELECT * FROM t1 WHERE ROW(1,2) = (SELECT column1, column2 FROM t2);
もしテーブル t2 が column1 = 1 と column2 = 2 の場所に行を持っていれば、
ここにあるクエリは両方 TRUE です。
Houstonの人口をシンプルなクエリーと行コンストラクタを利用して抽出してみました。
■シンプル
select Population from City where Name = ‘Houston’;
■行コンストラクタ
select Population from City where (Name,District,CountryCode) = (‘Houston’,’Texas’,’USA’);
参考サイト
Pingback: variable.jp [Mainly Deals with RDBMS] » Blog Archive » MYSQL異なったサブクエリーと同じ結果