ドンa SQL INSERT INTO ... SELECT FROM ... WHERE NOT EXISTS
SQL:WHERE NOT EXISTSは実際に何をチェックしていますか?
実際にチェックする句は何ですか?私は(つまり、COL1が主キーである)、それはそのテーブルにない別のテーブルの「COL1」にテーブルからCOL1の結果を挿入することが
INSERT INTO <table> (<col1>)
SELECT DISTINCT N.<col1>
FROM N
WHERE NOT EXISTS (
SELECT 1
FROM <table> C
WHERE
N.<col1> = C.<col1>
)
それは私には思える願ってNOT EXISTS句のSELECT文は行(または複数の行)を返し、NOT EXISTSは0行またはゼロ以上の行を探します。
は正しいですか?
それが0の行を探していません。すべての行を探します。行が存在する場合、EXISTSは真と評価されます。同様に、行が存在しない場合、NOT EXISTSはtrueと評価されます。 –