8-MySQL查询高级用法,数据表的关联关系
1.分组 group by
详情见,发布的第七篇博客文章,7- MySQL函数
2.排序 order by
说明:在MySQL中,ORDER BY是一种用于对查询结果进行排序的关键字。它可以根据一列或多列的值,以升序或降序的方式对查询结果进行排序,使得查询者可以更加方便
地查看、分析和处理数据。
使用ORDER BY时,需要指定一个或多个字段名,并可选地指定排序的顺序(升序或降序)。默认情况下,ORDER BY按照升序对结果进行排序。如果想要按照降序排序,需要在字
段名后面加上DESC关键字。
3.分页 limit
4.数据表的对应关系
(1).一对一
(2).一对多
(3).多对多
(4).生活中的相关例子
MySQL中的一对一(1:1)、一对多(1:n)、多对多(n:m)关系是数据库设计中的核心概念,这些关系在现实生活中也有很多实例。以下是一些例子:
一对一(1:1)关系:
在生活中,一对一关系可以理解为两个实体之间的关系,其中一个实体与另一个实体完全匹配。例如,身份证号码和身份证之间的关系。每个人只有一个唯一的身份证号码,而
每个身份证号码也只对应一个人。
一对多(1:n)关系:
一对多关系表示一个实体与另一个实体集合之间的关系,其中一个实体可以与集合中的多个实体相关联。例如,班级和学生之间的关系。一个班级有多个学生,但每个学生只属
于一个班级。
多对多(n:m)关系:
多对多关系表示两个实体集合之间的关系,其中一个集合中的实体可以与另一个集合中的多个实体相关联,反之亦然。例如,学生和课程之间的关系。一个学生可以选择多个课
程,而一个课程也可以有多个学生选择。
5.连接查询
(1).内连接 inner join 表名 on 条件
(2).左连接 left join 表名 on 条件
(3).右连接 right join 表名 on 条件
6.关于MySQL的高级查询用法和数据表之间联系 案例
(1 创建商品分类,商品,购物车,用户表,
(2 商品分类id和商品的商品分类连接,
(3 购物车的商品gid与商品的id连接,
(4 用户的id与购物车的uid连接
如图所示:
(5 要求:查询第一个用户买的商品的分类名,商品的名称,种类,数量,及用户名
代码所示:
select category.cate_name ,goods.goods_name,goods.goods_price,cart.num,user.username from category inner join goods on category.id = goods.cid inner join cart on goods.id = cart.gid inner join user on cart.uid = user.id where user.id = 1;