サブクエリとIN句を利用し、データを抽出してみようと思います。
例のごとくNorthwindテーブルを利用します。
ProductNameが"Chai"のOrdersを抽出します。
-- code ---------------------
select *
from Orders
where
OrderID IN (
select OrderID
from [Order Details]
inner join Products on [Order Details].ProductID=Products.ProductID
where Products.ProductName='Chai'
)
----------------------------
これで可能です。
IN句は次の使い方でも利用ができるのですが、
-- code ---------------------
-- 直接指定
select *
from Orders
where
OrderID IN (
10285,
10294
)
---------------------------
データベースはリアルタイムに更新されていくので、今現状のを知りたいという時に、サブクエリと合わせる方法もあります。
もちろん、INNER JOINで全部くっつけて、ProductName='Chai'をやっても同様の結果が得られます。
プログラムに意味を持たせるなら、今回のやり方もいいかと思います。