MySQL SELECT 範例1

2013-05-27_141219

這是MySQL 5實力養成暨評量裡的3-57.『某公司產品資料表(products)欄位結構如附圖:下列SQL敘述哪一項是合法的?』

產品資料表products:

欄位名稱pro_idsupp_iddescriptionprice
資料型態intchar(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敘述中,不過顯然地在這裡是可以執行的。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *