SQL中表的连接类型-左连接、右连接、内连接

两个表

student表,information表

左连接

student表 left join information表

SELECT * FROM student s
LEFT JOIN information f on s.SNO = f.SNO;

  • SNO='202201',s有2条,f有1条,结果集有2条数据;
  • SNO='202202',s有3条,f有2条,结果集有6条数据;(2×3=6)
  • SNO='202203',s有1条,f有1条,结果集有1条数据;
  • SNO='202204',s有1条,f有2条,结果集有2条数据;
  • SNO='202205',s有1条,f无,结果集f的列为null
  • SNO='202206',s无,f有的数据,结果集无

 注意黑色加粗的字即它们的区别;

右连接

student表 right join information表

SELECT * FROM student s
RIGHT JOIN information f on s.SNO = f.SNO;

  • SNO='202201',s有2条,f有1条,结果集有2条数据;
  • SNO='202202',s有3条,f有2条,结果集有6条数据;(2×3=6)
  • SNO='202203',s有1条,f有1条,结果集有1条数据;
  • SNO='202204',s有1条,f有2条,结果集有2条数据;
  • SNO='202205',s有1条,f无,结果集无
  • SNO='202206',s无,f有的数据,结果集s的列为null

内连接

student表 inner join information表

SELECT * FROM student s
inner JOIN information f on s.SNO = f.SNO;

  • SNO='202201',s有2条,f有1条,结果集有2条数据;
  • SNO='202202',s有3条,f有2条,结果集有6条数据;(2×3=6)
  • SNO='202203',s有1条,f有1条,结果集有1条数据;
  • SNO='202204',s有1条,f有2条,结果集有2条数据;
  • SNO='202205',s有1条,f无,结果集无;
  • SNO='202206',s无,f有1条,结果集无;
SELECT * FROM student s,information f 
WHERE s.SNO = f.SNO

where语句也可以实现内连接的功能,但是where语句还可以加上其他条件,内连接只能自己再写一个where条件语句。

 

End.

posted @   youreyebows  阅读(253)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2019-04-12 jmeter用Windows电脑分布式部署
点击右上角即可分享
微信分享提示