看板 Database 關於我們 聯絡資訊
各位好,目前正在自學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://www.ptt.cc/bbs/Database/M.1578507305.A.DB8.html
criky: as 是欄位命名沒錯,原sql不寫as還是會多一欄 01/09 05:01
criky: table.*有3欄位,再加case就多一欄 01/09 05:03
mathrew: 你就把它想成是另存成一個欄位就好了 01/09 06:12
mathrew: 你開 word excel notepad 等... 軟體 另存檔案也都叫 as 01/09 06:13
funk6478: CASE是依你的條件弄一個新欄位出來 AS只是幫這欄位命名 01/09 10:42
funk6478: 不過CASE通常會用END去命名欄位 01/09 10:45
konkonchou: T-SQL 的 AS 可視為 alias 別名的意思,所以可以Selec 01/09 14:08
konkonchou: t A as [B] 欄位,也可以Select A [B] 01/09 14:08
ken218: 不同意 f大 說的。第一,case 不只在 select 可以用,wher 01/11 17:27
ken218: e 甚至 group by 裡面都可以。第二,end 是 case 的結尾, 01/11 17:27
ken218: 不可缺少。as 不論在什麼情況下都是可以省略的。 01/11 17:27