Mysql-DML作业

1_count(1),count(*),count(列名)的区别和联系?
2_DROP、TRUNCATE、DELETE的区别?
3_内连接和外连接的区别?
4_SQL编码题:
4.1 查询学号1003-1010的学生信息(通过BETWEEN关键字实施)
4.2 查询邮箱为空的学员信息.(通过<=>关键字实施)
4.3 根据学号得到所有学生平均分后,过滤掉80分以下的学生后,对成绩进行降序排列,取前三名

1.
区别:
1 count(*)包含了所有列,相当于所有行,在统计结果时不忽略NUll
2 COUNT(1)包含了忽略所有列,用1表示代码行,在统计结果时不忽略NUll
3 COUNT(列名)只包含列名那一列,在统计结果时忽略NULL
联系:
count(1)和count(*)基本上没有差别

2.
区别
drop: 删除数据和表结构,删除速度是最快的
truncate: 删除所有数据,保留表结构,不可以回滚,一次全部删除所有数据,速度相对很快
delete:删除数据,保留表结构,可以回滚,如果数据量大会变得很慢

3.
区别:
内连接 本质上来说和等值无区别,但是内连接会释放WHERE关键字,使表与表之间的连接语法更加清晰
外连接 选择了外连关键字指向的表的所有数据+关联数据

4.1

select *
from student
where student.StudentNo between 1003 and 1010;

4.2

select *
from student 
where email is null;

4.3

select result.StudentNo, avg(result.StudentResult)
from result
GROUP BY (result.StudentNo)
having avg(result.StudentResult)>=80
ORDER BY(AVG(result.StudentResult)) DESC
LIMIT 0,3;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值