Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >跨站数据

MySQL关键字

1 排序

排序是对已经查出来的结果进行排序的

关键词:order by / desc(降序) asc(升序默认的)

# 需求:按编号进行降序排列
select * from emp order by eno desc;
# 需求:根据部门编号升序排列,如果部门一致,那就按照日期降序排列
select * from emp order by dno asc,birthday desc;
2 运算符
运算符描述运算符描述
=判断>大于
<小于!=非等
<>非等>=大于或等于
<=小于或等于
# 需求:找出性别为男的员工
select * from emp where sex='男';
3 连接符
连接符描述
and且关系(前后两个条件必须同时满足)
or或关系(两者满足其中之一即可)
# 需求:性别为男且部门为20的员工
select * from emp where sex='男' and dno=20;
# 需求:性别为男或部门编号为20的
select * from emp where sex='男' or dno=20;
# 需求:性别为男且部门编号为20的员工或员工id<5
select * from emp where sex='男' and dno=20 or eno<5;

非空查询(is null)

# 需求:删除部门编号为空的数据
delete from emp where dno is null;
4 in/not in

在in的括号中可以给定多个参数值,参数值之间的条件是或关系,且不一定非要满足

# 需求:查询指定部门的员工信息
select * from emp where dno in(10,11,12,20,30,31,55,66,77);
5 聚合函数
函数名描述
sum()求和(列的和)
count()求总行数
max()求最大值
min()求最小值
avg()求平均值

行求和(如果列的值存在null,结果也是null,此时可以使用ifnull()进行运算时默认值的设置)

# 需求:求员工编号与部门编号的和
select eno + dno from emp;
# ifnull(arg0,arg1) arg0代表可能为null的列,arg1代表如果为空要进行代替的值
select eno + ifnull(dno,0) from emp;

求总行数(count())

# 需求:求总行数 *代表以行数最多的结果为导向
select count(*) from emp;
# count也可以指定列,如果列中有null值,则不计入总数
select count(dno) from emp;

求最大值(max())

# 求最大的部门编号
select max(dno) from emp;

求平均值(avg())

# 求部门的平均值
select avg(dno) from emp;
6 分组(group by)

根据数据中的某一个特征对数据进行划分,这种形式叫分组

# 需求:求男生和女生的人数
select sex,count(sex) from emp group by sex;

having条件(结合group by使用,在分组的基础上再次进行筛选)

# 需求:求男生女生人数在3个以上的员工信息
select sex,count(sex) from emp group by sex having count(sex)>3;

having和where有什么区别

1.where是直接跟在表的后面的条件,having是跟在group by后面的条件

2.having的使用需要结合group by,group by在进行分组的时候是很耗性能的

7 别名

别名仅仅只是在当前要显示的结果中生效,起到简化及通俗易懂的效果

关键词:as

# 需求:显示员工的信息(as可以省略不写)
select eno as 员工编号,ename as 员工姓名,dno 部门编号 from emp;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kRObxXim-1606814327315)(./asset/MySQL别名.png)]

8 分页(limit)

limit在MySQL中称为方言(该关键词只能在MySQL中使用)

语法:limit arg0,arg1; arg0代表起始下标(数据库中的下标是从0开始的),arg1代表要查询的条数

# 需求:查询前三条数据
select * from emp limit 0,3;
# 需求:查询第二页的数
select * from emp limit 3,3;

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: 9364件!三年领跑,百度AI专利申请量、授权量蝉联第一

下一篇: 巨杉数据库亮相CNBC全球科技大会,展现大湾区科技力量

精华推荐