mysql支持三种类型的连接查询,分别为:
内连接查询:查询的结果为两个表匹配到的数据
右连接查询:查询结果为两个表匹配到的数据,右表特有的数据,对于左表中不存在的数据用null填充
左连接查询;查询结果为两个表匹配到的数据,左表特有的数据,对于右表中不存在的数据用null填充
on后面跟着连接查询的条件。
简化:
左右连接查询:
左右连接有主和从的关系。左连接,那students是主表,那classes是从表右连接查询:就是以classes为主表,那students就是从表
三种连接的其他写法:
子查询:
在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句
主查询:
主要查询的对象,第一条 select 语句
主查询和子查询的关系:
子查询是嵌入到主查询中
子查询是辅助主查询的,要么充当条件,要么充当数据源
子查询是可以独立存在的语句,是一条完整的 select 语句
子查询分类:
标量子查询: 子查询返回的结果是一个数据(一行一列)
查询大于平均身高的学生:
列级子查询: 返回的结果是一列(一列多行)
查询出有学生的班级都有哪些?行级子查询: 返回的结果是一行(一行多列)
需求: 查找班级年龄最大,身高最高的学生
行元素: 将多个字段合成一个行元素,在行级子查询中会使用到行元素子查询中出现的关键字:
mysql高级查询
最新推荐文章于 2023-06-28 19:37:34 发布