左外连接和右外连接哪个更好?

2023-11-24

我们可以通过这两种方式得到相同的结果..

Table_1 LEFT OUTER JOIN Table_2

Table_2 RIGHT OUTER JOIN Table_1

如果我们能得到相同的结果为什么要使用右外连接?哪一个更好 ?


正如其他人已经指出的那样LEFT OUTER JOIN and RIGHT OUTER JOIN是完全相同的操作,只是参数相反。你的问题就像问是否写得更好a < b or b > a。它们是相同的 - 这只是一个偏好问题。

话虽如此,我发现大多数人都比较熟悉LEFT JOIN并在 SQL 中一致地使用它。有些人甚至会觉得如果突然出现一个字就很难阅读。RIGHT JOIN在查询过程中,这导致他们必须停下来思考这意味着什么。所以我建议,如果在两个选项之间有平等的选择,更喜欢使用LEFT JOIN。保持一致将使其他开发人员更容易理解您的 SQL。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

左外连接和右外连接哪个更好? 的相关文章

  • 连接到 SQL Server 数据库 C#-WinForms

    我正在制作一个桌面应用程序 我希望用户必须登录才能充分使用该程序 我已经在 www winhost com 我的网站的托管位置 上创建了一个数据库 但现在我不知道该怎么办 我一直在使用 google 和 msdn 我想知道如何以编程方式将新
  • SQL Server中根据条件进行计数

    有谁知道如何在 SQL Server 中根据条件进行计数 Example 如何对表中名称为 system 的记录以及 CaseID 记录总数进行列计数 顾客表 UserID CaseID Name 1 100 alan 1 101 alan
  • T-SQL:检查电子邮件格式

    我有这样的场景 我需要物理数据库中的数据完整性 例如 我有一个变量 email address VARCHAR 200 我想检查一下值是否为 email address是电子邮件格式 有人知道如何检查 T SQL 中的格式吗 非常感谢 我使
  • SQL 选择另一列中具有最大值的列

    我有一个看起来像这样的表 Name Group Value A 1 0 B 1 2 C 1 5 D 2 6 E 2 0 F 3 3 我想选择每组中具有最大值的名称 例如 有 3 个组 因此结果将是 Name C because it has
  • 使用SQL参数绑定是否意味着可以直接从输入中输入文本?

    正如标题所说 如果我使用 SQL 参数 即 SQLCommand cmd new SQLCommand select from users where username user and password pass limit 1 Cxn
  • ORACLE SQL 中的 MAX()

    我有一个表 存储已完成的维护任务的记录列表以及完成的日期和时间 我正在尝试执行子查询来提取具有最新日期的每个任务的记录 我的SQL语句是 SELECT ENGINEERING COMPLIANCE EO AS EO ENGINEERING
  • 当您有两种类型的记录时,该表的最佳数据库设计是什么

    我正在跟踪练习 我有一个workout表与 id 练习ID 外键进入练习表 现在 一些练习 例如重量训练 将包含以下字段 重量 次数 我刚刚举起 10 次 100 磅 跑步等其他练习将包含以下字段 时间 距离 我刚刚跑了5英里 花了1个小时
  • postgresql 中的咨询锁超时

    我正在从 ORACLE 迁移 目前我正在尝试移植此呼叫 lkstat DBMS LOCK REQUEST lkhndl DBMS LOCK X MODE lktimeout true 这个功能 http docs oracle com cd
  • 在 Postgres 中为特定查询设置 work_mem

    我正在使用一个委托给 JDBC 驱动程序的库PostgreSQL 而且有些查询非常复杂 需要更多内存 我不想设置work mem对于所有查询来说都是大的 只是这个子集 问题是执行以下代码会导致错误 pseudo code for what
  • 将 .sql 文件导入 SQLite

    我正在尝试将大型 sql 文件导入 SQLite db 文件 但出现以下错误 sqlite gt read smsCorpus en 2012 04 30 sql Error near line 23 near COMMENT syntax
  • 我是否需要 SQL Server 数据库项目中链接服务器的数据库引用?

    在我的数据库项目中 我添加了对链接服务器的引用 当我在视图中使用此链接服务器并尝试构建数据库项目时 SSDT 报告错误 因为它无法理解对链接服务器上引用的任何架构的引用 LinkedServer DB1 dbo Table1 上面的代码会返
  • “JSON”附近的语法不正确 - SQL Server 2016

    所以我最近安装了SQL Server 2016 CTP3主要是为了JSON输出功能 我正在尝试在我的 SQL 查询中使用它 就像 MSDN 上下面的链接中显示的那样 关键字 JSON 不会变成蓝色并给出错误 JSON 附近的语法不正确 可能
  • 将具有重复值的数据插入 Postgresql

    我需要在 postgresql 中插入数据集 INSERT INTO table subject topics exams name of subject section topic subtopic VALUES Algebra Math
  • 如何导入文本文件并将数据保存到数据库中? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有这个项目 导入一个 txt file 连接到 SQL Server 数据库 将所有数据传输到数据库 文本文件按制表符分为四个字段
  • 通过 Join-Where-Group 通过选择查询正确建立索引,避免使用临时;使用文件排序

    我已经搜索了很多关于下面描述的案例的解决方案 但不幸的是我没有找到类似的案例 我有以下场景 作为新用户 该网站拒绝了我的图片 但我可以通过邮件发送它 下面是它的文本表示 Table 1 swap plan Table 2 cell Clus
  • 当我在 JDBC 应用程序中调用PreparedStatement.cancel() 时,它实际上会在 Oracle 数据库中杀死它吗?

    我有针对 Oracle 10g 数据库运行的 Java JDBC 应用程序 我设置了一个PreparedStatement来执行查询 然后调用ps executeQuery 来运行它 有时查询需要很长时间 我需要终止它 我有另一个线程访问该
  • 计算Oracle中逗号分隔字符串中的元素数量

    假设我有一张桌子Col2是 varchar Col1 Col2 1 001 002 2 003 004 005 我需要计算 Col2 中的元素数量 并返回它 如果我这样做的话 select do something here with co
  • 使用SQL显示组内最小计数和最大计数

    Goal 我正在寻找一种方法来计算等于组的最小值或最大值的项目数 我的物品每隔几天就会收到一次 并且每两周输入一次 我需要查看每个 EntryDate 的最小和最大接收日期 以及最小和最大的项目计数 在 MS Access 中使用 SQL
  • 实体框架与oracle数据库的连接

    我使用的是 Entity Framework 6 1 版本和 oracle 11 我是实体框架的新手 任何人都可以建议连接 oracle 的先决条件是什么 任何更改都需要在 web config 中进行 在web config中 默认它是与
  • sql自连接表删除重复行

    我有下表 USERID LANGUAGEID 1 2 1 7 1 8 2 10 2 3 现在我想为每个用户创建所有可能的语言对 这意味着我希望结果集是 对于用户 1 2 7 7 8 2 8 对于用户 2 10 3 为此 我做了以下查询 SE

随机推荐

  • CSS3 过渡 Polyfill [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 好吧 大多数人都会熟悉 CSS3 过渡 相比 jQuery 动画 我更喜欢它 因为它具有 CSS 的简单性 我唯一的遗憾是它不能在 IE 如果您提前
  • constexpr 求值分支/ constexpr 重载

    设置 我有一个使用 SIMD 内在函数的函数 并且想在一些 constexpr 函数中使用它 为此 我需要将其设为 constexpr 但是 SIMD 内在函数未标记为 constexpr 编译器的常量求值器无法处理它们 我尝试用具有相同功
  • 使用 DataContractSerializer 进行简单的数据文件版本控制

    读过数据合同版本控制我们得出的结论是 这并不是故事的全部 例如 如果您以前有 ValueA 而在新版本中它现在称为 ValueB 并且是不同的类型 并且您需要将 ValueA 转换为 ValueB 会发生什么情况 有一些回调我可以用来帮助解
  • 使用ConfigParser读取没有节名的文件

    我在用ConfigParser读取脚本的运行时配置 我希望具有不提供部分名称的灵活性 有些脚本足够简单 它们不需要 部分 ConfigParser会抛出一个NoSectionError异常 并且不会接受该文件 我怎样才能让 ConfigPa
  • 从 webdriver.io 获取数据后动态构建 Mocha 测试

    我正在寻找一种解决方案来在异步获取数据后定义 Mocha 测试 目前 我使用gulp webdriver使用 Selenium 获取 HTML 内容 我想测试某些 HTML 标签结构 例如 我想从 HTML 页面获取所有按钮结构 1 在 M
  • C 中的 sin v/s sinf 函数

    我正在尝试使用sinf函数在我的 C 程序中 但它在 MSVC 6 0 下给了我一个未定义的引用错误sin工作正常 这让我很好奇找到两者之间的区别sin and sinf 两者之间的逻辑区别是什么sin and sinf 我怎样才能实现我自
  • 如何知道是什么使休眠持久对象变脏?

    我用 hibernate 映射的对象有奇怪的行为 为了知道为什么该对象行为异常 我需要知道是什么使该对象变脏 有人可以帮助并给我提示吗 该对象是 Java Spring 上下文中的 Java 类 所以我更喜欢针对 Java 平台的答案 编辑
  • jQuery ajaxForm 返回 .json 文件

    我在 Rails 中有一个模型创建表单 我还通过 ajax 返回 JSON 到目前为止我的代码看起来像 new stem ajaxForm new stem is my form dataType json success formSucc
  • 将 JSON 日期信息解析为 C# DateTime

    我有一个返回 CLR 对象的 WCF 服务 该对象定义如下 DataContract public class Person DataMember public string FullName get return fullName set
  • Angular2 通过 Promise 获取路由的参数

    嘿 我尝试过以下代码 constructor private route ActivatedRoute ngOnInit this route params toPromise then data gt 然而它没有做任何事情 如果我交换to
  • PHP 警告:mysqli_stmt::bind_param():变量数量与准备好的语句中的参数数量不匹配

    不知道为什么我会收到此 PHP 警告消息 看来准备好的语句中有四个参数 bind param 中也有四个变量 谢谢你的帮助 if stmt mysqli gt prepare SELECT url month year cover imag
  • C++ 常量结构体成员初始化

    我有一个常数struct timespec我班的成员 我应该如何初始化它 我唯一疯狂的想法就是衍生出我自己的想法timespec并给它一个构造函数 非常感谢 include
  • 在 Gmail 中撰写邮件的 URL(具有完整的 Gmail 界面并指定收件人、密件抄送、主题等)

    我找到了一个post它提供了一个仅打开撰写消息窗口的链接示例 但是 我希望它打开一个窗口完整的 Gmail 界面但已准备好撰写新消息 当然这有效 https mail google com mail u 0 compose 但是 我还想添加
  • Go - 通过外部命令写入标准输入

    我有以下代码 它执行外部命令并将两个字段输出到控制台等待用户输入 一个用于用户名 另一个用于密码 然后我手动添加了它们 谁能给我提示如何写入标准输入以便从程序内部输入这些输入 对我来说 棘手的部分是有两个不同的字段等待输入 而我很难弄清楚如
  • 仅转置 data.frame 中的某些列

    这里是我有数据 am group v1 v2 v3 v4 1 2015 10 31 A 693 803 700 17 2 2015 10 31 B 524 859 302 77 3 2015 10 31 C 266 675 86 7 4 2
  • kubernetes 的外部 IP 在 minikube 中显示

    我对 Kubernetes 相当陌生 最近我使用 miniKube 公开了一项服务NodePort类型 我想测试我的应用程序的运行 但我没有看到任何外部 IP 只看到端口 这是我的输出 kubectl get service NAME CL
  • iOS Safari 和 Chrome 上的 Z 索引问题

    我遇到了基于 wordpress Underscores 主题的响应式下拉菜单的问题 它在桌面上看起来不错 但在 iOS Safari 上 包括 iPad 和 iPhone 则不然 我也尝试将 z index 添加到其他 div 但它不起作
  • Ajax 文件上传,“进度”上传事件在 Edge 浏览器中不会触发

    我正在开发一个文件上传控件 通过 ajax 发布表单数据 我在 Chrome Firefox IE 11 10 中可以使用此跨浏览器 但是在 Microsoft Edge 浏览器中 上传 进度 事件似乎不会触发 谁能指出原因并告诉我 Edg
  • make -j 8 g++:内部编译器错误:已杀死(程序 cc1plus)

    当我在 Ubuntu12 04 上部署 Apache Mesos 时 我按照官方文档进行操作 在步骤 make j 8 中 我在控制台中收到此错误 g internal compiler error Killed program cc1pl
  • 左外连接和右外连接哪个更好?

    我们可以通过这两种方式得到相同的结果 Table 1 LEFT OUTER JOIN Table 2 Table 2 RIGHT OUTER JOIN Table 1 如果我们能得到相同的结果为什么要使用右外连接 哪一个更好 正如其他人已经