1. ホーム
  2. sql

[解決済み] USINGキーワードを含むJOINを実行中に、選択リストに修飾語を含めることはできません。

2022-02-09 05:49:21

質問

正解の解説がない模擬試験を見ています。私が混乱している問題は、基本的に次のSQLステートメントが決して動作しない理由を尋ねるものです。

SELECT oi.order_id, product_jd, order_date
FROM order_items oi JOIN orders o
USING(order_id);

USING句の列の部分はSELECTリストの修飾子を持つことができないので、ステートメントは実行されません。

どなたか詳しく教えてください。かなり困っています。

どのように解決するのですか?

について文句を言っています。 oi 修飾子を使用します。

SELECT oi.order_id, product_jd, order_date
       ^^^

Oracle では、修飾子と using を結合します。 最も明確な方法は、通常のjoinを使用することです。

SELECT oi.order_id, product_jd, order_date
FROM order_items oi 
JOIN orders o ON o.order_id = oi.order_id

また、修飾子を省略することも可能です。 その場合 using という2つのフィールドがあるにもかかわらず、このステートメントがオラクルに伝えられます。 order_id であり、両者は等しい。

SELECT order_id, product_jd, order_date
FROM order_items oi JOIN orders o
USING(order_id)