当前位置:   article > 正文

sql中内连接和外连接的区别_内连接和外连接的区别sql

内连接和外连接的区别sql

对于两张表,外连接和内连接的区别在于:

内连接:只显示两表id匹配的
左外连接:显示join左边的表的所有数据(不管两表是否匹配),对于不匹配的部分都用NULL显示
右外连接:与左外连接相反,显示join右边的表的所有数据

我们直接用题来解释。 

 假设有两个表stu和exam,该表结构如上,我们要显示所有学生的成绩,那么内连接和外连接的方式分别为(插入数据请自己补全):

  1. create table stu(
  2. Id int,
  3. Name varchar(40))
  4. create table exam(
  5. Id int,
  6. Grade int)
  7. insert into exam values(11,89)
  8. select * from stu
  9. select * from exam
  10. --【显示所有学生的成绩】
  11. --内连接(只显示两表id匹配的)
  12. select stu.id,exam.id,stu.name,exam.grade from stu inner join exam on stu.id=exam.id
  13. --左外连接(显示join左边的表的所有数据,exam只有两条记录,所以stu.id,grade都用NULL显示)
  14. select stu.id,exam.id,stu.name,exam.grade from stu left join exam on stu.id=exam.id
  15. --右外连接(与左外连接相反,显示join右边的表的所有数据)
  16. select stu.id,exam.id,stu.name,exam.grade from stu right join exam on stu.id=exam.id

 对于插入完的数据查询结果应该是这样的:

1.如果用内连接显示所有学生的成绩, 那么他会只显示两表id匹配的

2.对于左外查询,他会显示join左边的表的所有数据,exam只有两条记录,所以stu.id,grade都用NULL显示 

3.右连接与左连接相反,显示join右边的表的所有数据 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/626405
推荐阅读
相关标签
  

闽ICP备14008679号