mysql排序、分组、多表查询

本文介绍了MySQL中的排序方法,包括升序与降序排列,并展示了如何使用`LIMIT`进行分页查询。此外,讲解了如何通过`GROUP BY`对数据进行分组聚合,获取最小值。最后,详细阐述了SQL中的内连接、左连接和右连接查询,帮助理解不同类型的多表查询操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.mysql排序
1.1.从大到小排序,不加desc默认情况下是升序
MariaDB [fei1]> select * from student order by age desc;
+----+-------------+------+
| id | name        | age  |
+----+-------------+------+
|  7 | lisi        |   50 |
|  4 | sean        |   28 |
|  5 | zhangshan   |   26 |
|  3 | wangqing    |   25 |
|  2 | jerry       |   23 |
|  1 | tom         |   20 |
|  6 | zhangshan   |   20 |
| 11 | qiuxiaotian |   20 |
| 10 | qiuyi       |   15 |
|  8 | chenshuo    |   10 |
|  9 | wangwu      |    3 |
+----+-------------+------+
11 rows in set (0.001 sec)

1.2.根据表中column_name进行降序并只取前4个结果

MariaDB [fei1]> select * from student order by age desc limit 4;
+----+-----------+------+
| id | name      | age  |
+----+-----------+------+
|  7 | lisi      |   50 |
|  4 | sean      |   28 |
|  5 | zhangshan |   26 |
|  3 | wangqing  |   25 |
+----+-----------+------+
4 rows in set (0.000 sec)

1.3.根据表中column_name进行升序,并跳过前2个结果取后面3个结果
MariaDB [fei1]> select * from student order by age limit 2,3;
+----+-------------+------+
| id | name        | age  |
+----+-------------+------+
| 10 | qiuyi       |   15 |
|  1 | tom         |   20 |
| 11 | qiuxiaotian |   20 |
+----+-------------+------+
3 rows in set (0.000 sec)

2.使用group by 对取出表中的内容进行分组
MariaDB [fei1]> select name,min(age) as age from student  group by name;
+-------------+------+
| name        | age  |
+-------------+------+
| chenshuo    |   10 |
| jerry       |   23 |
| lisi        |   50 |
| qiuxiaotian |   20 |
| qiuyi       |   15 |
| sean        |   28 |
| tom         |   20 |
| wangqing    |   25 |
| wangwu      |  100 |
| zhangshan   |   26 |
+-------------+------+
10 rows in set (0.010 sec)

3,多表查询,使用左连接,右连接,内连接
3.0.多表查询语法

select 字段1,字段2… from 表1,表2… [where 条件]

3.1.内连接: 内连接查询 (只显示符合条件的数据)

注:内连接查询与多表联合查询的效果是一样的

#查询人员和部门所有信息
select * from person inner join dept  on person.did =dept.did;

在这里插入图片描述

3.2.左连接:左外连接查询 (左边表中的数据优先全部显示)
#查询人员和部门所有信息
select * from person left join  dept  on  person.did =dept.did;

在这里插入图片描述

3.2.右连接:右外连接查询 (右边表中的数据优先全部显示)
#查询人员和部门所有信息
select * from person right join  dept  on  person.did =dept.did;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值