暂无图片
返回数说广场
brucewoo
2024-12-17
下面是PRODUCTS表的结构: Name Null? Type PROD_ID NOT NULL NUMBER(6) PROD_NAME NOT NULL VARCHAR2(50) PROD_DESC NOT NULL VARCHAR2(4000) PROD_CATEGORY NOT NULL VARCHAR2(40) PROD_CATEGORY_ID NOT NULL NUMBER SUPPLIER_ID NOT NULL NUMBER(6) PROD_STATUS NOT NULL VARCHAR2(20) PROD_LIST_PRICE NOT NULL NUMBER(8,2) PROD_MIN_PROCE NOT NULL NUMBER(8,2) 使用PRODUCTS表,执行下面的查询来获取当产品打折25%之后价格低于$10的产品的名称,当前价格,打折后的价格。 查询会报错,错误的原因是什么? SQL>SELECT prod_name, prod_list_price, prod_list_price - (prod_list_price * .25) "DISCOUNTED_PRICE" FROM products WHERE discounted_price < 10; WHERE子句中的列别名应该使用表达式替换。 SELECT prod_name, prod_list_price, prod_list_price - (prod_list_price * .25) "DISCOUNTED_PRICE" FROM products WHERE discounted_price < 10; ORA-00904: "DISCOUNTED_PRICE": invalid identifier SELECT * FROM student WHERE (条件) 执行顺序,先执行FROM 子句,然后执行WHERE 子句,最后执行SELECT 所以Select 子句后的别名,在where条件中不能使用 在Oracle中,可以在SELECT语句中使用列的别名,但是这个别名只能在ORDER BY子句中使用,不能在WHERE子句中使用。如果你想在WHERE子句中使用别名,你需要重写查询,或者使用子查询
0
暂无图片 0
74
分享

评论

热门数说