inner join 内联与left join 左联的实例代码
关于数据库中的内联与左联:深入理解与实例
今天,老板对我的存储过程进行了深入的分析。由于新添加的需求需要关联一个视图,我选择了内联方式处理,结果导致数据大量缺失。对此,我感到非常惭愧。这次我想与大家分享的是关于数据库查询中的内联(INNER JOIN)与左联(LEFT JOIN)的实例。
让我们看一段我项目中实际的查询代码。这段代码的目的是获取一些与运输和路线相关的数据。在这个查询中,我使用了内联的方式关联了多个表。由于使用了内联,只有当所有相关联的表中都有对应的数据时,这条数据才会被显示出来。这显然导致了数据的缺失。
SQL 查询示例:
```sql
SELECT
t1.MOTCARRIERNAME,
t2.ROUTENAME,
y.BUSLICENSE,
...
FROM
(SELECT ... FROM history.TKSCHBILLHISTORY, history.TKSERIALSCHHISTORY, history.TKCARRYSTASCHHISTORY WHERE ...) y,
baseinfo.MOTORCARRIER t1,
baseinfo.ROUTE t2,
Settlement.dbo.View_ManualTicket m
WHERE
t1.MOTCARRIERID = y.MOTCARRIERID AND t2.ROUTEID = y.ROUTEID AND m.BusLicense = y.BUSLICENSE
ORDER BY
t1.MOTCARRIERNAME, t2.ROUTENAME, y.BUSLICENSE;
```
接下来,让我们理解什么是内联和左联。在数据库中,内联是一种只返回两个表中都有匹配数据的记录的方式。而左联则会返回左表的所有记录,如果右表中没有匹配的数据,则显示为NULL。这就是我在项目中真正需要的。正确的查询方式应该是使用左联,像这样:A left join B on A.Id=B.Id。这样,无论表B是否有与表A匹配的数据,表A的所有数据都会被显示出来。如果表B中有相关数据,则一并显示;如果没有,则对应字段会显示为NULL。这正是我们需要的处理方式。因为我们的项目中经常有大量的数据缺失是由于使用了内联导致的。所以我们需要了解并学会使用左联来避免这种情况的发生。希望这次的分享能对大家有所帮助。如果有任何疑问或建议,欢迎留言交流。非常感谢大家对狼蚁SEO网站的支持!同时感谢大家的关注与信任,我会继续努力为大家带来更多的实用分享。再次为之前因为内联导致的失误向大家道歉!让我们共同学习进步!
编程语言
- inner join 内联与left join 左联的实例代码
- 用JS动态设置CSS样式常见方法小结(推荐)
- MySQL用户与权限的管理详解
- Ajax异步获取html数据中包含js方法无效的解决方法
- js获取指定时间的前几秒
- ASP.NET MVC处理文件上传的小例子
- 微信小程序 textarea 详解及简单使用方法
- JS组件Bootstrap Table表格多行拖拽效果实现代码
- iView框架问题整理小结
- php实现的DateDiff和DateAdd时间函数代码分享
- SQL Server中调用C#类中的方法实例(使用.NET程序集
- Windows下快速搭建NodeJS本地服务器的步骤
- Visual Studio 2017 离线安装教程
- PHP 类相关函数的使用详解
- 原生javascript实现分享到朋友圈功能 支持ios和an
- .Net Core在程序的任意位置使用和注入服务的方法