- SQL語言從入門到精通
- 明日科技編著
- 1427字
- 2024-12-27 22:16:36
2.2 計算列查詢
在使用SELECT語句進行查詢時,有時會對列進行計算。例如,對某兩個列進行相加或相減計算,得到一列新的數據。本節將會對列的計算查詢、連接列值查詢和使用表達式查詢進行介紹。
2.2.1 連接列值
連接列值是將多個列中的數據合并到一列中。合并多個列后應該給該列設置一個別名以方便查看,如不設置別名,該列的默認列名為“(無列名)”。
【例2.12】 在tb_studentInfo03數據表中,將學生的姓名列和性別列連接合并成一個新列。(實例位置:資源包\TM\sl\2\12)
SQL語句如下:
SELECT Name+Sex as "學生信息" FROM tb_studentInfo03
運行結果如圖2.13所示。

圖2.13 查看學生信息
2.2.2 查詢中使用計算列
在使用SELECT語句查詢數據時,可以使用算術運算符來輔助完成一些查詢功能。例如,商品的銷售金額可以用銷售數量乘以商品單價獲得。這種查詢方式在SQL中會經常使用到。下面介紹幾種對列進行運算的方式。
在使用計算列之前,需要先對算術運算符有一個簡單的了解,其中常用的算術運算符如表2.1所示。
表2.1 常用的算術運算符

注意
上述運算符的優先級順序是:先乘除(*、/、%),后加減(+、?)。相同優先級時,表達式采用從左到右的計算順序。使用括號可以提升優先級,減少失誤。
1.“?”運算符的應用
下面的示例使用“?”運算符計算出每件商品的銷售利潤,獲得每件商品的銷售利潤使用單價減去進價就可以實現。
【例2.13】 在tb_goods數據表中,查詢每件商品的銷售利潤。(實例位置:資源包\TM\sl\2\13)
SQL語句如下:
SELECT 編號,商品名稱,單價-進價 AS 銷售利潤 FROM tb_goods
運行結果如圖2.14所示。

圖2.14 計算銷售利潤
2.“*”運算符的應用
下面的示例使用“*”運算符計算出每件商品的銷售額,計算每件商品的銷售額使用銷售數量乘以單價就可以實現。
【例2.14】 在tb_goods數據表中,查詢每件商品的銷售額。(實例位置:資源包\TM\sl\2\14)
SQL語句如下:
SELECT 編號,商品名稱,銷售數量*單價 AS 銷售額 FROM tb_goods
運行結果如圖2.15所示。
3.運算符號的綜合運用
下面的示例將綜合運用“*”“?”“/”“()”運算符,計算每件商品銷售的利潤。先計算出商品的總銷售利潤,再除以銷售的數量將會獲得每件商品的銷售利潤。
【例2.15】 在tb_goods數據表中,查詢出每件商品的銷售利潤。(實例位置:資源包\TM\sl\2\15)
SQL語句如下:
SELECT 編號,商品名稱, (銷售數量*單價-進價*銷售數量)/銷售數量 AS 銷售利潤 FROM tb_goods
運行結果如圖2.16所示。

圖2.15 計算銷售額

圖2.16 計算每件商品利潤
2.2.3 查詢中使用表達式
在SELECT語句中也可以使用表達式。例如,給某列數據增加一個字符串或使用表達式單獨生成一個新列。下面將通過使用示例演示在查詢中使用表達式。
1.數值表達式
下面的示例通過使用數值表達式將“進價”列增加50元,并使用別名將該列重新命名。
【例2.16】 在tb_goods數據表中,使用表達式將進價列增加50元。(實例位置:資源包\TM\sl\2\16)
SQL語句如下:
SELECT 編號,商品名稱,銷售數量,進價+50 AS 進價,單價 FROM tb_goods
運行結果如圖2.17所示。

圖2.17 進價增加50元
2.字符表達式
下面的示例通過字符表達式為“銷售數量”列中的值添加一個單位“臺”,為“進價”列中的值添加一個單位“元”,最后通過使用別名將這兩列重新命名。
【例2.17】 在tb_goods數據表中,為“銷售數量”列和“進價”列分別添加兩個單位“臺”和“元”。(實例位置:資源包\TM\sl\2\17)
SQL語句如下:
SELECT 編號,商品名稱,CONVERT(char(2),銷售數量)+'臺' AS 銷售數量 , CONVERT(char(8),進價)+'元' AS 進價 FROM tb_goods
運行結果如圖2.18所示。
3.使用表達式創建新列
下面的示例通過數值表達式和字符表達式創建兩個新的列。
【例2.18】 在tb_goods數據表中,使用表達式自動生成兩個新列。(實例位置:資源包\TM\sl\2\18)
SQL語句如下:
SELECT 編號,商品名稱,1+1,'字符'+'串列'FROM tb_goods
運行結果如圖2.19所示。

圖2.18 添加單位

圖2.19 使用表達式自動生成列
- 移動UI設計(微課版)
- Building a RESTful Web Service with Spring
- Learning Flask Framework
- Python從入門到精通(精粹版)
- Effective Python Penetration Testing
- R大數據分析實用指南
- 數據結構習題解析與實驗指導
- HTML5從入門到精通(第4版)
- Natural Language Processing with Java and LingPipe Cookbook
- Java程序員面試筆試寶典(第2版)
- Learning Docker Networking
- Test-Driven JavaScript Development
- BeagleBone Robotic Projects(Second Edition)
- Software Development on the SAP HANA Platform
- Android編程權威指南(第4版)