MySQL-2

select from语句的拓展

基础语句:select columns from tb_name;
columns:显示数据
tb_name:表名
比较运算符:等=,不等!=或<>,大于/小于等于>=,<=,小于/大于<,>,是空/非空is null,is not null
逻辑运算符:与或非-and or not

筛选条件

排序–order by:
select columns from tb_name order by col [ass/desc]
注:col–列名
ass–正序(默认)
desc–倒序
限制–limit:select columns from tb_name limit strat,count;
注:limit count–显示count组数据
limit strat,count–从strat开始显示count组数据
去重–distinct:select distinct columns from tb_name;
条件语句补充:
模糊查询:like '%/
1,%-任意多个字符
2,
-一个字符
注:_,%可前可后
eg:select * from tb where name like ‘c%’;
查询tb中name开头为c的所有数据显示
范围查询:
1,连续范围:betweeen a and b–a<=values<=b
2,间隔范围:in
a in(1,2,3)–查询显示a=1,2,3的数据
具体使用方法参考eg

聚合与分组

聚合函数

使用格式:select 聚合函数(columns) from tb_name;
常用聚合函数:
统计个数:count()
求和:sum()
平均值:avg()
最大值:max()
最小值:min()
列出字段全部值:group_concat()

分组查询

语句:group by
select 字段 from 表 group by 字段;
select 字段,count(*) from 表 group by 字段;
注:在分组情况下,只能出现分组字段和聚合字段,其他字段无意义会报错

聚合筛选

语句:having
select 字段1 from 表 group by 字段1,字段2 having 字段2>=80;
having–对输出结果做出限制
注:执行顺序:先条件再聚合函数和别名(as 起别名)后having

子查询

将一个查询结果留下用于下一次查询(select 中嵌套 select)
要求:
1,嵌套在查询内部
2,必须始终出现在圆括号内
eg:查找大于平均年龄数据
select * from student where age > (select avg(age) from student);

连接查询

内连接

语句 [inner] join … on

无条件连接

主表(第一张)的每一项都与另一张表的每一项依次组合(交叉树结构)
select * from tb1 [inner] join tb2;

条件连接

按条件来进行连接
eg:
select * from tb1 as a join tb2 as b on tb1.id=tb2.id

外连接

语句 left|right join

左外连接

left join
以左表为基准
两表连接,当连接条件不匹配时,留左表数据,右表以null填充

右外连接

right join
以右表为基准
两表连接,当连接条件不匹配时,留右表数据,左表以null填充

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值