暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL基础知识V1——SELECT计算列查询

张家小壹 2021-04-19
2118

点击上方张家小壹,关注回复1024获取视频教程


前言

在使用SELECT语句进行查询时,有时会对列进行计算。例如,对某俩个列进行相加或者相减计算,通过计算后得到一列新的数据。

SQLServer2014详细安装教程

导入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 商品名称,
            CASE
            WHEN sales_sum=0 THEN 0
            ELSE (sales_sum*shop_price-sales_sum*cost_price)/sales_sum
            END AS 销售利润
            FROM goods;

            结果:


            查询中使用表达式

            • 数值表达式

            示例5:

            在goods商品信息表中,使用表达式将进价增加100元。

              SELECT goods_id AS 商品ID ,goods_name AS 商品名称,
              cost_price AS 原价,cost_price+100 AS 进价加100
              FROM 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 新列2
                  FROM goods;

                  结果:


                  点击下方,让我们共同成长!


                  喜欢的话记得点「」和「在看」↓

                  爱你们

                  文章转载自张家小壹,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论