select (o.a - o.b) as 'ab',
這里我想用 (o.a - o.b)的結果 ,只能更這樣寫?
能用直接用別名'ab'呢?
from order o
難道只能這樣:
SELECT
xx.*,
xx.ab
FROM (SELECT (o.a - o.b) AS 'ab'
FROM ORDER o) xx
請問可以實作在定義ab后直接操作ab嗎
uj5u.com熱心網友回復:
在sql里面應該只能是這樣,不能提前定義的。uj5u.com熱心網友回復:
select o.a - o.b ab -- as 可以省略,ab 這個別名不要用單引號from "order" o -- order 是系統關鍵字,不要使用這種表名稱,非要使用的話,要加雙引號,并且注意大小寫。
uj5u.com熱心網友回復:
首先我們要了解SQL陳述句中關鍵字的執行順序,其順序是:from=1 where=2 group by=3 having=4 order by=5 select=6
因為select在最后,所以其它關鍵字后面不能用欄位別名,如你所說的“ab”,表的別名之所以可以用,是因為from排在第一。
uj5u.com熱心網友回復:
SQL執行順序是 先from再where 再group 再having 再select 后order所以order是可以用欄位別名,其它是不行的。
uj5u.com熱心網友回復:
多謝指正,下次一定注意
uj5u.com熱心網友回復:
多謝解答!
uj5u.com熱心網友回復:
好的 只能這樣了。。 多謝
uj5u.com熱心網友回復:
你的順序是對的,即
from=1 where=2 group by=3 having=4 select=5 order by=6
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/89204.html
標籤:開發
