赞
踩

在数据库中 ,通过group by 将查询结果按照1个或多个字段进行分组,字段值相同的为一组。
select ...from table group by 需要分组字段;
练习:






group_concat(…)
我们通过group_concat(…)查看每组的详细信息

练习:
查询同种性别(分组后)的姓名


查询组内年龄,姓名



练习:






order by 字段 默认升序
order by asc 字段 指定升序
order by desc 字段 指定降序
练习:
查询年龄在18到26之间的男同学,按照年龄从小到大排序


查询年龄在18到20岁之间的女同学,id从高到低排序


查询年龄在18-23岁之间的女性,年龄从高到低降序,当年龄相同时,按照id从低到高升序。


limit start,count




当查询结果的列来源于多张表时,需要将多张表连接成一个大的数据集,再选择合适的列返回mysql。这时我们就需要使用表连接。
分类:
内连接仅选出两张表中互相匹配的记录
select * from 表1 inner join 表2 on 表1.列 = 表2.列

students 表

classes表



练习:








查询的结果为两个表匹配到的数据 ,左表持有的数据,对于右表中不存在的数据使用null填充
以左表为主
select * from 表1 left join 表2 on 表1.列 = 表2.列



练习:
students表左连接classes表 并查看班级为null的数据


左连接 并且 查询 s.is_del=1 并且 s.name=“amy” 的数据


查询结果为两个表匹配到的数据,右表持有的数据,对于左表中不存在的数据使用null填充。
select * from 表1 right join 表2 on 表1.列 = 表2.列;

某些情况下,当进行查询的时候,需要的条件是另外一个 select 语句的结果,这个时候,就要用到子查询。




Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。