左外连接等效

2023-12-15

我有一个包含空值的表。在 ORDER 表中,PART_ID 部分有 2 个空值,CUSTOMER_ID 部分有 2 个空值。

我有这样的疑问:

SELECT O.ORDER_ID , O.ORDER_DATE , O.CUST_ID, O.QUANTITY ,O.PART_ID ,
       C.CUST_NAME, C.CUST_CODE, P.PART_NAME, P.PART_CODE
FROM [ORDER] O
     LEFT OUTER JOIN PART P ON P.PART_ID = O.PART_ID
     LEFT OUTER JOIN CUSTOMER C ON C.CUST_ID = O.CUST_ID 

这是我的问题。在不使用外连接的情况下如何做到这一点? 我尝试了太多的事情,包括不存在的地方或这个;

SELECT *
FROM [ORDER] O ,CUSTOMER C, PART P
WHERE C.CUST_ID = (
  SELECT CUST_ID FROM CUSTOMER C WHERE O.CUST_ID = C.CUST_ID
) AND P.PART_ID = (SELECT PART_ID FROM PART P WHERE O.PART_ID = P.PART_ID) 

但我找不到解决方案。如果有解决办法会怎样?

(注:这是家庭作业。)

我有这样的桌子:

enter image description here

左外连接给出:

enter image description here

硬件说不使用外连接就可以做到这一点,并获得与左外连接给出的相同的表。但就像我说的那样,我不能。我也在使用MSSQL。


外连接产生内连接的超集。确实,从维基百科: 左外连接返回内连接中的所有值以及左表中与右表不匹配的所有值。

因此,要使用内连接对左外连接进行建模,可以使用UNION内连接的SELECT具有相同连接条件的同一个表与另一个表之间SELECT从第一个表返回右表中没有匹配项的所有行(我将您的情况简化为单个左连接):

SELECT O.ORDER_ID , O.ORDER_DATE , O.CUST_ID, O.QUANTITY ,O.PART_ID ,
       P.PART_NAME, P.PART_CODE
FROM [ORDER] O JOIN PART P ON P.PART_ID = O.PART_ID
UNION
SELECT O.ORDER_ID , O.ORDER_DATE , O.CUST_ID, O.QUANTITY ,O.PART_ID ,
       NULL, NULL 
FROM [ORDER] O
WHERE NOT EXISTS (SELECT 'found' FROM PART P WHERE P.PART_ID = O.PART_ID)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

左外连接等效 的相关文章

  • SQLPLUS 保存到文件

    我必须为我的数据库类使用 SQLPLUS 我们的第一个作业是简单的保存 我按照说明进行操作 我正在使用 PuTTY 访问 sqlplus 在本练习中使用以下 SQL 命令 并尝试使用 SAVE 和 SPOOL 命令将 SQL 命令和输出保存
  • SQL Server 与 MySQL:CONTAINS(*,'FORMSOF(THESAURUS,word)')

    我很震惊 当我在 SQL Server 中看到查询非常简单时 我花了 3 4 天弄清楚如何在 mysql 中实现词干提取 和同义词搜索 Select from tab where CONTAINS FORMSOF THESAURUS wor
  • 无法将值写入密钥\使用管理员帐户在 Windows 7 计算机中安装 SSMS 显示软件

    我在安装SQL Server 2014时出现以下错误 无法将值写入键 SOFTWARE 验证您是否有足够的权限访问该密钥 或联系您的支持人员 当它尝试安装 SSMS 并且我的计算机正在运行 Windows 7 时 就会发生这种情况 为了使其
  • Python Peeweeexecute_sql() 示例

    我使用 Peewee 模块作为我的项目的 ORM 我看了整个文档 没有明确的 有关如何处理 db execute sql 结果的示例 我跟踪代码 只能发现db execute sql 返回游标 有谁知道如何处理光标 例如迭代它并获取 返回复
  • 某些列值驻留在其他表中的外键约束

    在 PostgreSQL 中表达外键约束 其中部分 FK 列驻留在另一个表中 的正确 惯用方法是什么 我将用一个例子来阐明这一点 为了简短起见 省略了一些明显的 PK 和 FK 我们希望对书籍 书中发现的主题 阅读事件 其中阅读一本书 和阅
  • 主表节点缺失

    我已经安装了 Microsoft SQL Server 2012 Express 当我启动 Management Studio 时 我无法查看系统数据库上的任何 表节点 这是一个错误吗 这是一个错误 如以下链接所述 http connect
  • SQL SERVER 字符串中的掩码字符

    如何替换 SQL SERVER 中字符串中 x 和 y 字符之间的字符 例如 如果我有 TEST123456 最后有 TE 56 我不知道字符串有多长 但我知道我需要屏蔽字符串中 x 和 y 之间的字符 你可以使用REPLICATE htt
  • 如何比较具有复合主键的 2 个表中的行?

    这是场景 我有两张数据表 一张是2009年版本 一张是2010年版本 每个表的主键都是复合键 我知道每一行都有不同的行数 我需要找出差异 通常 在 正常 主键设置中 我只会查找不在其他表的主键列表中的主键值 但我不知道如何使用复合主键来做到
  • 查找某个字段发生更改时的开始日期和结束日期

    我在表中有这些数据 FIELD A FIELD B FIELD D 249052903 10 15 2011 N 249052903 11 15 2011 P VALUE CHANGED 249052903 12 15 2011 P 249
  • 获取SSAS立方体上次处理时间

    在 Excel 中 我与数据多维数据集建立 Analysis Services 连接 我希望能够通过向用户显示最后一次多维数据集处理时间发生的时间来向用户展示数据的最新情况 在 SQL Server Management Studio SS
  • 使用 sql server 数据库部署 C# 应用程序?

    谁能告诉我使用 SQL Server 数据库部署 C 应用程序的准确方法 我想在客户端的计算机上运行我的应用程序 它正在我的计算机上运行 但在客户端的计算机上显示错误 我已经在客户端计算机上安装了 SQL Server 2012 我对部署知
  • PostgreSQL 列“foo”不存在

    我有一个表 其中有 20 个整数列和 1 个名为 foo 的文本列 如果我运行查询 SELECT from table name where foo is NULL 我收到错误 ERROR column foo does not exist
  • SQL Server 超时是否被记录?

    SQL Server 超时 特别是 SELECT 查询 是否记录在 ERRORLOG 文件中 背景是一位客户的网站偶尔会出现 请求超时 消息 我认为超时是由数据库超时引起的 相关错误日志中没有超时错误 不可以 您需要使用 SQL Profi
  • 如何在 Presto 中删除重复数据

    我有一个 Presto 表 假设它有 id name update time 列和数据 1 Amy 2018 08 01 1 Amy 2018 08 02 1 Amyyyyyyy 2018 08 03 2 Bob 2018 08 01 现在
  • 更新 SQL MS Access 2010

    这已经让我绞尽脑汁了 4 个小时了 我有一个名为 BreakSked 的表 我使用此按钮来使用此 sql 更新表的休息结束时间 strSQL1 UPDATE BreakSked SET BreakSked EndTime Me Text41
  • ORA-01438: 值大于此列允许的指定精度

    有时我们会从合作伙伴的数据库中收到以下错误 i ORA 01438 value larger than specified precision allows for this column i 完整响应如下所示
  • 条件中的 T-SQL USE 语句

    看来USE语句是由MS SQL Server 2008R2编译的 例如 if 1 0 begin USE MyDB end 结果将在执行中USE MyDB同时忽略 IF 语句 如何改变它以适应条件 附 也尝试过execute sp exec
  • @Where 子句在 hibernate join 查询中不起作用

    我有 2 个带有 Where 注释的实体 第一个是类别 Where clause DELETED 0 public class Category extends AbstractEntity 且有如下关系 OneToMany fetch F
  • 删除sql server中的大量数据

    假设我有一个有 10000000 条记录的表 这两种解决方案有什么区别 删除数据 例如 DELETE FROM MyTable 使用应用程序逐行删除所有数据 DELETE FROM MyTable WHERE ID SelectedID 第
  • 我忘记了分号“;”在 MySQL 终端查询中。我该如何退出?

    有时我忘记用分号 结束 SQL 查询 在我的 Mac 终端中 发生这种情况时 终端会设置一个 gt 一开始我无法退出此命令或运行任何其他 SQL 命令 我该如何退出 你不知道mysql终端有5种不同的报价模式 我建议你回顾一下它们 http

随机推荐

  • 无法使用数据透视表制定查询来组合单行中的不同行值

    下面是实际的表格 In the table above 1 FEID is the examination ID which remains same for one exam like ist semester examination o
  • Jquery 根据其子元素之一的值查找 XML 元素

    我正在开发一个简单的 XML 电话簿应用程序来学习 JQuery 但我不知道如何执行以下操作 当用户在文本框中输入联系人的名字时 我想查找该人的完整记录 XML 看起来像这样
  • 使用Spring配置抽象工厂的实现类

    对于我的应用程序 我有一个Scale接口和实现该接口的多个类 例如NormalizedScale LogScale等等 在我的一项服务中 我需要创建许多 Scale 并且我想使用 Spring 来定义它应该创建 Scale 的哪个实现 我将
  • 当我从 sagemaker 端点获得预测时,端点会做什么?

    在 sagemaker 中 文档讨论了需要具有 4 个特定函数的推理脚本 当我们得到预测时 Python SDK 会向端点发送请求 然后推理脚本运行 但我找不到 SDK 中运行推理脚本的位置 当我浏览 sdk 代码时Predictor pr
  • PHP echo before sleep功能,不起作用

    我希望在睡眠函数执行之前在浏览器中输出回显 每次 以下代码不起作用 set time limit 0 ob implicit flush 1 ob start echo Start br ob flush for i 0 i lt 10 i
  • Redux VS Context API [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我非常熟悉 Context API 我完成了 Redux 速成课程 它们对我来说 原则上 很相似 问题是 我应该关注哪一个 Context API 和 Redux 之间的主要优缺点是什么
  • 在 Spark Scala 中合并两个 RDD

    我有两个 RDD rdd1 字符串 字符串 key1 value11 key2 value12 key3 value13 rdd2 字符串 字符串 key2 value22 key3 value23 key4 value24 我需要使用 r
  • 使用标签时如何使用Onclick事件

    我有两个java类 and 两种布局对于两个班级来说 每个layout正在拥有一个button在里面 两个班级都在延长Activity 现在在我使用的第一个布局中include像这样标记
  • 使用 Web API 在 jqGrid 中添加/编辑/删除

    我是 jqGrid 的新手 需要一些关于表单添加 编辑 删除功能的帮助 目前还没有找到相关资源 我的网格在添加 编辑时显示弹出窗口 还在单击编辑时填充数据 但是我不确定应该使用什么 javascript 代码来调用 Web api 来发布
  • scanf("%c", &c) 和 scanf(" %c", &c) 之间的区别[重复]

    这个问题在这里已经有答案了 考虑以下 C 代码片段 include
  • 如何在 PyTorch 中打印模型摘要?

    如何在 PyTorch 中打印模型的摘要 如下所示model summary 在 Keras 中执行的操作 Model Summary Layer type Output Shape Param Connected to
  • BackgroundWorker 从循环中执行 UI 更新

    我正在 BackgroundWorker 的 DoWork 内循环创建 ViewModel 对象 我报告每次迭代的进度 将新对象作为参数传递以由 ProgressChanged 处理程序 它是 UI 线程的朋友 检索 在该处理程序中 对象被
  • Windows Phone 7 列表框加载数据的进度条

    当列表框完成加载其数据时 是否有一个我可以监听的事件 我有一个文本框和一个列表框 当用户按 Enter 键时 列表框将填充来自 Web 服务的结果 我想在列表框加载时运行进度栏 并在完成后折叠它 UPDATE
  • javascript 字符串比较

    我有以下脚本 document write 12 lt 2 返回 true 有什么理由吗 文档说 javascript 以数字方式比较字符串 但是 我不明白 12 如何小于 2 JavaScript 逐个字符地比较字符串 直到其中一个字符不
  • 将日期从 Excel 转换为 R

    我很难将日期从 excel 从 csv 读取 转换为 R 非常感谢帮助 这是我正在做的事情 df date as Date df excel date format d m Y 但是 有些日期会被转换 但有些则不会 这是以下的输出 head
  • ggpairs 绘图,其中包含具有重要性星级和自定义主题的相关值热图

    我想用 ggPairs 创建一个相关图 其中应该包含 相关值的热图 就像在这个SO问题中一样 相关性的显着性星号 就像在这个SO问题中一样 根据自定义主题的字体类型和字体大小 基于 user20650对上述SO问题提供的优秀解决方案 我成功
  • Angular2:将表单上下文绑定到 ngTemplateOutlet

    我试图定义一个包含动态表单 使用 ReactiveForms 的组件 用户应该能够在其中添加 删除控件 控件可以采用多种形式 并且必须在组件外部定义 因此我认为 TemplateRef 最适合这种情况 我正在努力寻找一种通过使用 formC
  • XSL 与区域化/国际化数字格式

    在格式化数字时 XSL 中是否内置了任何区域化支持 目前 我的底层 XML 包含英国 美国格式的数字 例如 54321 12345 我可以对此进行选择总和 以相同的格式给出总计 我可以使用 format number 54321 12345
  • Lattice中的facet_wrap相当于什么

    假设我们有一些这样的数据 dta lt data frame group rep letters 1 8 each 1000 x runif 8000 y runif 8000 我想为每个组生成一个包含 y x 的格子图 但是 第一行有 a
  • 左外连接等效

    我有一个包含空值的表 在 ORDER 表中 PART ID 部分有 2 个空值 CUSTOMER ID 部分有 2 个空值 我有这样的疑问 SELECT O ORDER ID O ORDER DATE O CUST ID O QUANTIT