SELECT S.SUPPLIER_NAME,P.PRODUCT_NAME,O.ORDER_ID,O.QUANTITY
FROM SUPPLIERS AS S
INNER JOIN PRODUCT AS P
ON S.PRODUCT_ID = P.PRODUCT_ID
INNER JOIN ORDERS AS O
ON P.PRODUCT_ID = O.ORDER_ID;当我加入三张桌子时
ORA-00933: SQL命令未正确结束。
发布于 2019-03-12 01:51:43
Oracle不对表别名使用as。试试这个版本:
SELECT S.SUPPLIER_NAME, P.PRODUCT_NAME, O.ORDER_ID, O.QUANTITY
FROM SUPPLIERS S JOIN
PRODUCT P
ON S.PRODUCT_ID = P.PRODUCT_ID JOIN
ORDERS O
ON P.PRODUCT_ID = O.ORDER_ID;语法错误来自于S之后的AS。AS被认为是表别名,接下来需要一个join条件或SQL子句(或逗号恐怖)。
发布于 2019-03-12 04:51:27
Oracle别名可用于为列或tables.To创建临时名称,从而使输出的标题更有意义,并提高查询的可读性。参考链接
例如,如果要将列'SUPPLIER_NAME‘更改为SUPPLIERNAME。此查询将将ResultSet列返回为“SUPPLIERNAME”。
供应商S->S是表“供应商”的临时名称。请参阅下面的修改。
SELECT S.SUPPLIER_NAME,P.PRODUCT_NAME,O.ORDER_ID,O.QUANTITY
FROM SUPPLIERS S
INNER JOIN PRODUCT P
ON S.PRODUCT_ID = P.PRODUCT_ID
INNER JOIN ORDERS O
ON P.PRODUCT_ID = O.ORDER_ID;https://stackoverflow.com/questions/55112917
复制相似问题