官术网_书友最值得收藏!

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 使用表達式自動生成列

主站蜘蛛池模板: 淮北市| 丹江口市| 综艺| 达日县| 静安区| 治县。| 武功县| 江西省| 嘉鱼县| 井陉县| 句容市| 台州市| 保康县| 宜章县| 自贡市| 博白县| 南充市| 安平县| 铁岭市| 广灵县| 贡嘎县| 金塔县| 普安县| 华阴市| 恩平市| 昌乐县| 东山县| 左权县| 和平区| 永登县| 南雄市| 汤原县| 凤台县| 沽源县| 六盘水市| 美姑县| 南汇区| 长顺县| 和平区| 平昌县| 广灵县|