目录
表:
思路:
inner join
right join
left join
编辑
表:
student表
class表
思路:
1.分析查找的字段来自哪些表
2.确定使用哪种连接查询
3.确定交叉点
比如student表的name与class表的name是相等的
inner join
内联操作,将符合ON条件的A表和B表结果均搜索出来,然后合并为一个结果集。
查询 name , age ,subject ,score的学生
age 字段出现在student 表, subject,score 字段出现在class表
where 可以换成 on
As 是起到别名的作用
查询结果如下:
right join
右联操作:
将符合ON条件的A表结果搜索出来, 然后右联到B表上,然后将合并后的B表输出。
查询 name , age ,subject ,score的学生
select s.name , age, subject,score
from student s
right join class c
on s.name=c.name;
右联操作还有一种情况
仍然是查询 name , age ,subject ,score的学生
student表
class表
相比student表多了小黑和小白
来看结果
left join
左联操作:
将符合ON条件的B表结果搜索出来, 然后左联到A表上,
查询 name , age ,subject ,score的学生
select s.name , age, subject,score
from student s
left join class c
on s.name=c.name;
这里有null数据,空数据,原因是从小绿开始到小紫,他们在class表中是没有对应的数据的
他与另一种左联操作不一样
这也是一种左联操作,他与上面一个左联操作的不同是从小绿开始到小紫开始在class中是有相应的数据的
所以他的结果里不会有null
student表
class表
查询 结果