AI训练营SQL-TASK02打卡

一:select语句基础

一 从表中选取数据

select <列名> from <表名>;

二 从表中获取符合要求的数据

where 子句

select <列名> from <表名> where <条件表达式>;

二:算数比较符和比较运算符

一  算数运算符

        +

        -

        *

        /

二  比较运算符

        =  相等

        <>不等

        >=大于等于

        > 大于

        <= 小于等于

        < 小于

三: 逻辑运算符 

一 not

 select * from tb where not name ="zly"

二 and 和 or 

三 括号优先处理

四:练习

1

select product_name,regist_date 
from product 
where regist > "2009-4-28";

2

 ①结果为product中所有purchase_price为NULL的值
②结果为product中所有purchase_price不为NULL的值
③结果为product中所有purchase_name不为NULL的值

3

select product_name,sale_price,purchase_price 
from product 
where (saleprice-purchase_price)>500

4

select product_name,product_type,saleprice*0.9 profit 
from product 
where (sale_price*0.9-purchase_price)>100;

四:对表的聚合查询

一 聚合函数

  • COUNT:计算表中的记录数(行数)
  • SUM:计算表中数值列中数据的合计值
  • AVG:计算表中数值列中数据的平均值
  • MAX:求出表中任意列中数据的最大值
  • MIN:求出表中任意列中数据的最小值
  • -- 计算全部数据的行数(包含NULL)
    SELECT COUNT(*)
      FROM product;
    -- 计算NULL以外数据的行数
    SELECT COUNT(purchase_price)
      FROM product;
    -- 计算销售单价和进货单价的合计值
    SELECT SUM(sale_price), SUM(purchase_price) 
      FROM product;
    -- 计算销售单价和进货单价的平均值
    SELECT AVG(sale_price), AVG(purchase_price)
      FROM product;
    -- MAX和MIN也可用于非数值型数据
    SELECT MAX(regist_date), MIN(regist_date)
      FROM product;

 二 使用聚合函数删除重复值

-- 计算去除重复数据后的数据行数
SELECT COUNT(DISTINCT product_type)
 FROM product;
 
-- 是否使用DISTINCT时的动作差异(SUM函数)
SELECT SUM(sale_price), SUM(DISTINCT sale_price)
 FROM product;

五:对表进行分组

一 group by 语句

 

SELECT <列名1>,<列名2>, <列名3>, ……
  FROM <表名>
 GROUP BY <列名1>, <列名2>, <列名3>, ……;

二 聚合键中包含NULL时

将进货单价(purchase_price)作为聚合键举例:

SELECT purchase_price, COUNT(*)
  FROM product
 GROUP BY purchase_price;

此时会将NULL作为一组特殊数据进行处理

三 书写位置

四 于where 组合使用

select *,count(*) 
from product
where price=100
group by type;

 六:为聚合查询指定条件

一 使用having 得到特定分组

二 having 特点

七对查询结果排序

一 order by

select * 
from tb
order by age;

默认为升序排列,降序排列为DESC

练习

1 where 字句应该在前面

select product_type,sum(sale_price) sum,sum(purchase_price) sum
from product
where sale_price>purchase_price*1.5
group by product_type;

3

select * 
from product 
order by regist_date desc,purchase_price,sale_price;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZLY_2004

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值