Left Join 中 and 和 where 的区别
1.Student表:
2.SC表:
3.使用左外连接查询两个表,显示的数据是左表中的所有数据,包含NULL值。是下面的临时表
SELECT a.SId,a.Sname,b.score FROM Student a LEFT JOIN SC b ON a.SId = b.SId;
4.使用where:
where条件是在临时表生成后使用,再对临时表进行过滤的条件。生产临时表后所有不符合where条件的都去掉。
SELECT a.SId,a.Sname,b.score FROM Student a LEFT JOIN SC b ON a.SId = b.SId WHERE b.score > 60;
5.使用and:
and条件是在生成临时表时使用的条件。左表(a)的记录将会全部表示出来,而右表(b)只会显示符合搜索条件的记录(例子中为: a.Sid = b.Sid),b表记录不足的地方均为NULL。AND 后面又多加一个条件,相当于对b表过滤时有两个条件,a中不符合b表条件的均为NULL。
SELECT a.SId,a.Sname,b.score FROM Student a LEFT JOIN SC b ON a.SId = b.SId AND b.score > 60;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库