作者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/cn.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