初級シスアド試験対策FAQ

          

副問合せの作り方

10月 10th, 2007 by miura

副問合せでは、まず括弧内から作成していきましょう。問18「商品番号‘’を注文した顧客の顧客名と住所を表示する」の作り方

1.「商品番号‘PX0’を注文した顧客」を副問合せで作る
SELECT 顧客番号 FROM 受注明細表
WHERE 商品番号 = ‘PX0’

2.「顧客の顧客名と住所を表示する」を作る(主問合せ)
SELECT 顧客名,顧客住所  FROM 顧客表
3.主問合せと副問合せをくっつける
SELECT 顧客名,顧客住所 FROM 顧客表
WHERE {?}
(SELECT 顧客番号 FROM 受注明細表
WHERE 商品番号 = ‘PX0’)

ここで{?}に何を入れるかですが、副問合せのSELECTで指定した列名と同じものがWHEREの列名で入ります。(これは結合と同じで、受注明細表と顧客表を顧客番号で結合するときのキーと同じです)そして、IN述語は「副問合せで選択された顧客番号のいずれか 」という条件で指定されます。

答え
SELECT 顧客名,顧客住所 FROM 顧客表
WHERE 顧客番号
IN (SELECT 顧客番号 FROM 受注明細表
WHERE 商品番号 = ‘PX0’)

Posted in データベース |

にほんブログ村 資格ブログ IT系資格へ

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.


検索:

AD

Recent Posts

カテゴリー:

アーカイブ:

メタ情報:

AD