点击上方张家小壹,关注回复1024获取视频教程
前言
在使用SELECT语句进行查询时,有时会对列进行计算。例如,对某俩个列进行相加或者相减计算,通过计算后得到一列新的数据。
导入SQL系列数据及数据结构,请戳这里:SQL基础知识V1--数据结构
请戳此地址查看SQL基础系列文章
小壹,公众号:张家小壹SQL基础知识目录
连接列值
连接列值是将多个列中的数据合并到一列中。合并多个列后需要给该列设置一个别名,以方便用户查看,如果不设置列名,该列默认的列名为“(无列名)”。
示例1:在某品牌信息表中brand中,查看品牌信息。将品牌名称列(name)和品牌分类列(cat_name)连接合并成一个新列,列名为“品牌信息”
语句:
SELECT name+cat_name AS '品牌信息' FROM brand;
结果:

查询中使用计算列
在使用SELECT语句查询数据时,可以使用算术运算符来计算。例如,想要获得商品的销售金额时,可以将销售数量乘以单价。
减法运算符“-”的使用
示例2:在goods商品信息表中,查询出每件商品的销售利润
SELECT goods_id AS 商品ID ,goods_name AS 商品名称,(shop_price-cost_price) AS 销售利润 FROM goods;
结果:

乘法运算符“*”的使用
示例3:
在goods商品信息表中,查询出每件商品的销售额
SELECT goods_id AS 商品ID ,goods_name AS 商品名称,(shop_price-sales_sum) AS 销售额 FROM goods;
结果:

算术运算符的综合运用
示例4:
在goods商品信息表中,查询出每件商品的销售利润,使用公式为(销售数量*单价-销售数量*进价)/销售数量
SELECT goods_id AS 商品ID ,goods_name AS 商品名称,(sales_sum*shop_price-sales_sum*cost_price)/sales_sum AS 销售利润FROM goods WHERE sales_sum<>0;
结果:

PS:因为表中的销售数量可能存在值为0的情况,当销售数量为除数时,不能为0,所以添加过滤条件销售数量不等于0,即sales_sum<>0,在实际开发过程中,一般不能直接过滤,会采用case when的方式进行判断,当销售数量为0时,即直接为0,否则就参与计算。写法如下。
SELECT goods_id AS 商品ID ,goods_name AS 商品名称,CASEWHEN sales_sum=0 THEN 0ELSE (sales_sum*shop_price-sales_sum*cost_price)/sales_sumEND AS 销售利润FROM goods;
结果:

查询中使用表达式
数值表达式
示例5:
在goods商品信息表中,使用表达式将进价增加100元。
SELECT goods_id AS 商品ID ,goods_name AS 商品名称,cost_price AS 原价,cost_price+100 AS 进价加100FROM goods;
结果:

字符表达式
在goods商品信息表中,将销售数量和商场价格添加单位“个”和“元”。
SELECT goods_id AS 商品ID ,goods_name AS 商品名称,sales_sum AS 销售数量无单位,shop_price AS 商场价格无单位,CONVERT(CHAR(10),sales_sum)+'个' AS 销售数量有单位,CONVERT(CHAR(10),shop_price)+'元' AS 商场价格有单位FROM goods;
结果:

使用表达式创建新列
示例5:
在goods商品信息表中,使用表达式自动创建俩个列。
SELECT goods_id AS 商品ID ,goods_name AS 商品名称,1+1 AS 新列1,'张家'+'小壹' AS 新列2FROM goods;
结果:

喜欢的话记得点「赞」和「在看」↓
爱你们




