MySql 复习

 

 

表结构

SELECT * from emp;

# 查询学号在1-3范围内的字段

select * from emp where id in (1,2,3);

# 判断年龄是不是空的字段

select * from emp where age is not null;

#判断 有多少类型的薪水,分别显示

select distinct sal from emp ; 

#判断薪水的个数,用聚合函数count(); 共6中,符合要求

select count(distinct sal) from emp;

# 模糊查询,分别用_ 和% ,前者匹配一个字段,后面的匹配0到n个字段;

# 查询姓名含有l的人数
select count(*) from emp where name like '%l%';

# 虚表

# 查询 age+ sal 作为新的一栏;

SELECT * , age+ sal as '新栏目' from emp ; 

# as 方法给列添加别名;

# 排序,orderby  ,example: ORDER BY age asc, order by age desc;

# 按照薪水从大到小排序,相同薪水按照年龄降序排序;

select * from emp order by sal asc, age desc;

# 常用聚合函数,count(), sum(), avg(),max() ; min();

# IFNULL(属性字段,0) ,该属性字段如果是空,按照数字 0 进行处理

select *, sal as '薪水' from emp;

select * , ifnull( sal ,0) as 'totol' from emp;

# 计算所有的薪水,

select sum(sal) from emp;
select sum(ifnull(sal,0)) from emp;

# 上面两个是等价的;

# 计算和;等价
select sum(sal) + sum(age) from emp;
select sum(sal +IFNULL(sal,0) ) from emp;


# 计算平均工资;
select avg(sal) from emp;

# 查询员工的最高工资和最低工资;
select max(sal) ,min(sal) from emp;


#  分组查询,group bY;

# 查询每个年龄的工资和;

select * from emp GROUP BY age; # 这个重复的年龄pass 吊;

#  select age, sum(sal) from emp group by age ; # 这里面的求和是按照年龄段来求和的

# 查询每个工资的 人数;
select sal ,count(age) from emp group by sal;

# 插叙 10000和上面 工资的每个 年龄段的人数

select sal, COUNT(age) from emp where sal>= 10000 group by sal;


# 上面是是按照分组查询,分组 后再查询;(相同组内查询);

# HAVING 对分组后的 数据 进行过滤, 其中 where是对分组前的数据  进行过滤;

#      having  的使用;

# 看截图

# LIMIT 方言,这个是mysql独有的, 功能是 用于分页显示数 剧;

# 比如分页, 每页 显示 5条 数据  ;

select * from emp ;  #9 条数据;

select * from emp limit 0,5; # 5代表查询一次多少数据,0 是索引;(代表第一行);

# 第二页数据;
select * from emp limit 5,5; #没有 5个数据所以显示4个数据;

 

本个图片形象的展示的having 和where 的区别

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值