自学書MySQL必須-サブクエリの使用

871 ワード

サブクエリ:
1.SQL文はクエリーであり、SQL文ではサブクエリー、すなわち他のクエリーでのクエリーの作成も可能
サブクエリによるフィルタ:
1.注文品TNT 2のすべてのお客様をリストしますか?
SELECT cust_name, cust_contact
FROM customers
WHERE cust_id in (SELECT cust_id
                  FROM orders
                  WHERE order_num in (SELECT order_num
                                      FROM orderitems
                                      WHERE prod_id = 'TNT2'));

注意:サブクエリは強力で柔軟なSQL文を記述することができ、ネストできるサブクエリの数に制限はありません.実際に使用する場合、パフォーマンスの制限のため、サブクエリをネストすることはできません.
計算フィールドとしてサブクエリを使用するには、次の手順に従います.
1.顧客ごとの注文総数を問い合わせる?
SELECT cust_id, cust_name, (SELECT COUNT(*) AS num_order
                            FROM orders
                            WHERE orders.cust_id = customers.cust_id)
FROM customers;

説明:外部クエリーに関連するサブクエリーを相関サブクエリーと呼び、曖昧なカラム名を制限するために、通常は完全限定ドメイン名を使用します.