当前位置: 首页 > 面试题库 >

Oracle SQL-使用联接在一个表而不是另一个表中查找值

昝浩阔
2023-03-14
问题内容

因为显然每个人都讨厌子选择,所以我想使用联接来做到这一点。

举一个令人难以置信的示例,拿两个表,一个表的列表是1-6的数字,而另一个表的列表是偶数的0-8。然后,我的目标是在表格Nums中输出所有奇数。

Table Nums
Number
One
Two
Three
Four
Five
Six

Table Even
Number
Zero
Two
Four
Six
Eight

如果我只想获取Nums中的偶数列表,我会…

select nums.number
FROM nums,
     even,
where nums.number = even.number;

但是,如何使用这些表来获取Nums表中的非偶数列表?或者,换句话说,像…

select nums.number
from nums
where nums.number not in (select number from even);

问题答案:

正确使用SubSELECT可以很好…单独的“某人不喜欢某事”并不是恕我直言的足够充分的理由。

有几个选项-仅2个为例:

SELECT nums.number FROM nums 
LEFT OUTER JOIN even ON even.number = nums.number 
WHERE even.number IS NULL

或者

SELECT nums.number FROM nums
MINUS
SELECT even.number FROM even


 类似资料:
  • 问题内容: 我有以下两个表(在MySQL中): 如何找出哪些电话是由人,他们提出是不是在?所需的输出将是: 问题答案: 有几种不同的方法可以执行此操作,效率各不相同,具体取决于查询优化器的性能以及两个表的相对大小: 这是最简短的陈述,如果您的电话簿很短,则可能是最快的陈述: 或(感谢WOPR) (忽略这一点,正如其他人所说的那样,通常最好只选择所需的列,而不是’ ‘)

  • 问题内容: 我有以下两个SQL表(在MySQL中): 如何找出哪些电话是由人,他们提出是不是在?所需的输出将是: 任何帮助将非常感激。 问题答案: 有几种不同的方法可以执行此操作,效率各不相同,具体取决于查询优化器的性能以及两个表的相对大小: 这是最简短的陈述,如果您的电话簿很短,则可能是最快的陈述: 或者(由于Alterlife) 或(感谢WOPR) (如其他人所说,忽略它通常最好只选择想要的列

  • 问题内容: 我正在尝试查找一个表中的行,而不是另一个表中的行,这两个表都在不同的数据库中,并且在我要用来匹配的列上也有不同的列名。 我有一个查询,下面的代码,我认为它可能有效,但是速度太慢: 因此查询尝试执行以下操作: 从R2R.partmaster数据库中选择wpsapi4.product_details数据库中没有的所有ID。我匹配的列是partmaster.id和product_detail

  • 我有三个表在我的应用程序,把它们称为,,和。有字段为和,两者都有索引。有字段带索引,有字段带索引。 当我执行以下查询时: 它真的很慢(约1秒)。 当我执行以下查询时: 速度非常快(约20毫秒)。 据我所知,这些桌子大小差不多 关于这两个查询之间的巨大性能差异,有什么想法吗? 表大小: > tableA:2061392行 表B:175339行 TableC: 1888912行 postgresql-

  • 我需要比较两个列表,以便创建在一个列表中找到的特定元素的新列表,而不是在另一个列表中。例如: 我想在列表_1中循环,并将列表_2中未在列表_1中找到的所有元素附加到主列表。 结果应该是: 用python怎么做?

  • 问题内容: 我有一个产品ID列表,我想找出哪些订单包含所有这些产品。订单表的结构如下: 显然,我可以使用PHP中的一些循环来做到这一点,但是我想知道是否有一种优雅的方法可以完全在mysql中完成。我理想的幻想查询将是这样的: 有希望还是我应该去阅读托尔金?:)另外,出于好奇,如果不能在mysql中使用,是否还有其他具有此功能的数据库? 问题答案: 你很亲密 关于关系代数中的“出于好奇”问题,这可以