明らかに誰もがサブ・セレクションを嫌うので、私はジョインを使ってこれを行いたいと思います。Oracle SQL - ジョインを使用して別のテーブルではなく1つのテーブル内の値を見つける
信じられないほど複雑な例では、1〜6の数字のリストと0〜8の偶数のリストを持つ2つのテーブルを取る。それでは、私の目標はテーブルNumにすべての奇数を出力することです。私はちょうど、私がやるだろうNUMSにあっても番号のリストを取得したい場合は
Table Nums
Number
One
Two
Three
Four
Five
Six
Table Even
Number
Zero
Two
Four
Six
Eight
...
select nums.number
FROM nums,
even,
where nums.number = even.number;
しかし、どのように私はのリストを取得するためにこれらのテーブルを使用することができますテーブルの数字で非evensですか?良い十分な理由の私見ではありませんだけで、「誰かが何かを好きではない」...適切に使用する場合や、...つまり、何かのように
select nums.number
from nums
where nums.number not in (select number from even);
@Jeremy SQL Serverでこれを行う必要がある場合は、MINUS for Oracleと同じEXCEPTを使用します。 – Yahia