这是MySQL 5实力养成暨评量里的3-57.‘某公司产品资料表(products)栏位结构如附图:下列SQL叙述哪一项是合法的?’
产品资料表products:
栏位名称 | pro_id | supp_id | description | price |
资料型态 | int | char(3) | char(30) | float |
说明 | 产品编号 | 供应商代码 | 产品规格 | 单价 |
答案:
(B) select pro_id,supp_id,price*1.05 from products order by price;
(C) select pro_id,supp_id,price*0.05 as tax from products order by price;
(D) select pro_id,supp_id,price*0.05 as tax from products order by tax;
[adsense][/adsense]
这一题我们有选A,但答案没有,我们没选D,但是答案中有,我们就来分析这两个选项吧。我们在phpmyadmin下select pro_id,supp_id,price where price<100 order by supp_id desc,pro_id;这个SQL查询,结果出现:
#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘where price<100 order by supp_id desc,pro_id’ at line 1
这样的错误,喔~,原来少了FROM的关键字,真是囧…
而D的选项执行时无误,这个错误起源于有时候别名不可以在一些叙述中出现,当然我也有点忘,特别是在复杂的SQL叙述中,不过显然地在这里是可以执行的。