sql语句中case when和as用法
在sql語句里case when then else end可以當做c語言中switch case一樣是分支語句,起到不同條件處理作用。而as相當于一個別名,可以給某個列或者某個表起新的名字。
比如這里有個employee表,
select * from employee;
+----+--------+-----+---------+
| id | name ? | age | dept_id |
+----+--------+-----+---------+
| ?1 | 張偉 ? | ?30 | ? ? ? 1 |
| ?2 | 劉紅 ? | ?20 | ? ? ? 3 |
| ?3 | 劉明智 | ?33 | ? ? ? 5 |
| ?4 | 陳靜 ? | ?44 | ? ? ? 2 |
| ?6 | 劉鳳飛 | ?59 | ? ? ? 4 |
| ?7 | andy ? | ?38 | ? ? ? 1 |
| ?8 | baby ? | ?38 | ? ? ? 6 |
| 11 | 李剛 ? | ?48 | ? ? ? 3 |
| 14 | 小明 ? | ?55 | ? ? ? 5 |
| 16 | 王晨鍵 | ?35 | ? ? ? 6 |
+----+--------+-----+---------+
10 rows in set
select id as 編號,name as 姓名,case when age>50 then '該退休了' when age>30 then '大齡' else '年輕' end as 年齡 from employee;
+------+--------+----------+
| 編號 | 姓名 ? | 年齡 ? ? |
+------+--------+----------+
| ? ?7 | andy ? | 大齡 ? ? |
| ? ?8 | baby ? | 大齡 ? ? |
| ? ?6 | 劉鳳飛 | 該退休了 |
| ? ?3 | 劉明智 | 大齡 ? ? |
| ? ?2 | 劉紅 ? | 年輕 ? ? |
| ? 14 | 小明 ? | 該退休了 |
| ? ?1 | 張偉 ? | 年輕 ? ? |
| ? 11 | 李剛 ? | 大齡 ? ? |
| ? 16 | 王晨鍵 | 大齡 ? ? |
| ? ?4 | 陳靜 ? | 大齡 ? ? |
+------+--------+----------+
10 rows in set
看到了吧,這樣就把表里id命名為編號,name命名為姓名,age命名為年齡,而age里根據不同的字段值,又分別賦值。
as還可以用到新表復制,比如:create table test as select * from table1
這時候就會create 一個table test,他是完全copy 表table1里的全部數據。
總結
以上是生活随笔為你收集整理的sql语句中case when和as用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jquery监听input回车事件
- 下一篇: 会声会影制作视频翻页转场教程