作者CPU100 (小丑)
看板Database
標題[討論] AS用法
時間Thu Jan 9 02:15:03 2020
各位好,目前正在自學SQL,看到AS的部分,腦袋開始打結
想請問一下這樣的範例
https://pic3.zhimg.com/80/v2-684a3eda237fd615dbce5c762576f872_hd.jpg
select table.*, (case
when score >= 60 then "pass"
else "fail") as mark
from table;
這個table.* (條件) as mark ,有沒有白話一點的理解方式呢?
現在一直認為 as 就是把本來欄位重新命名
那為什麼這樣做之後,會多一欄mark呢?
麻煩前輩解答,拜託,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.77.1.249 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Database/M.1578507305.A.DB8.html
1F:推 criky: as 是欄位命名沒錯,原sql不寫as還是會多一欄 01/09 05:01
2F:→ criky: table.*有3欄位,再加case就多一欄 01/09 05:03
3F:推 mathrew: 你就把它想成是另存成一個欄位就好了 01/09 06:12
4F:→ mathrew: 你開 word excel notepad 等... 軟體 另存檔案也都叫 as 01/09 06:13
5F:推 funk6478: CASE是依你的條件弄一個新欄位出來 AS只是幫這欄位命名 01/09 10:42
6F:→ funk6478: 不過CASE通常會用END去命名欄位 01/09 10:45
7F:→ konkonchou: T-SQL 的 AS 可視為 alias 別名的意思,所以可以Selec 01/09 14:08
8F:→ konkonchou: t A as [B] 欄位,也可以Select A [B] 01/09 14:08
9F:推 ken218: 不同意 f大 說的。第一,case 不只在 select 可以用,wher 01/11 17:27
10F:→ ken218: e 甚至 group by 裡面都可以。第二,end 是 case 的結尾, 01/11 17:27
11F:→ ken218: 不可缺少。as 不論在什麼情況下都是可以省略的。 01/11 17:27