I am looking at a practice test that doesn't have explanations about the correct answers. The question I'm confused about basically asks why the following SQL statement can never work:
SELECT oi.order_id, product_jd, order_date
FROM order_items oi JOIN orders o
USING(order_id);
The answer it gave was: "The statement would not execute because the column part of the USING clause cannot have a qualifier in the SELECT list"
Can someone elaborate on this? I am pretty stumped.
It's complaining about the oi
qualifier:
SELECT oi.order_id, product_jd, order_date
^^^
Oracle does not allow qualifiers in combination with a using
join. The clearest way out is using a regular join:
SELECT oi.order_id, product_jd, order_date
FROM order_items oi
JOIN orders o ON o.order_id = oi.order_id
You can also omit the qualifier. The using
statement tells Oracle that even though there are two fields called order_id
, they are both equal:
SELECT order_id, product_jd, order_date
FROM order_items oi JOIN orders o
USING(order_id)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With