Oracle 10gを使用していますが、セット演算子を使用してクエリの他のテーブルに表示されない行を選択しようとしています。SQLセット演算子 - 異なる列のテーブルから行を選択する
私はこれらの行はjob_history
テーブルに表示されないようなemployee
テーブルからid
、last_name
とfirst_name
列を選択しようとしています。
これらの2つのテーブルの唯一の共通の列はid
列です。しかし、私も名前を表示したい。私が試してみました
:希望の結果が得られていない
SELECT
id, last_name, first_name
FROM
employees
MINUS
SELECT
id, TO_CHAR(null), TO_CHAR(null)
FROM
job_history;
。しかし
、私は私が使用して、従業員表から名前を表示したくなかった場合:
SELECT id FROM employees
MINUS
SELECT id FROM job_history;
私の結果の半分を与える、その以外の私は、従業員表から名前をしたいです。
アドバイスはありますか?
これは私にとって正しい結果をもたらしました。 'x on x.id = a.id'についての説明をお願いしますか?私はこの構文に遭遇したことはありません。 – ethane
はい..もちろんxは副選択を使って作成されたテーブルのエイリアスです。x.id = a.idはテーブルの従業員(エイリアスa)と副選択テーブルの間の結合句です。希望そうでなければ再び私に尋ねてください – scaisEdge
素晴らしい!それはそれをクリアした、ありがとう。 – ethane