私は2つの簡単な表があります(ここでの唯一の "ID" 欄)2つのSQLテーブルを比較し、紛失IDを返しますか?
TABLE1:
id
1
2
3
4
表2:
id
2
4
SQLクエリが不足しているために2つのテーブルを比較する必要があります」 id2 "を返します。返信: 1,2
アイデア? :) TY
私は2つの簡単な表があります(ここでの唯一の "ID" 欄)2つのSQLテーブルを比較し、紛失IDを返しますか?
TABLE1:
id
1
2
3
4
表2:
id
2
4
SQLクエリが不足しているために2つのテーブルを比較する必要があります」 id2 "を返します。返信: 1,2
アイデア? :) TY
皮膚にはいくつかの方法この猫があります。
SELECT table1.ID
FROM table1
WHERE table1.ID NOT IN(SELECT table2.ID FROM table2)
それとも、左の外側を使用することができ、参加:
SELECT table1.ID
FROM table1
LEFT OUTER JOIN table2 ON table1.ID = table2.ID
WHERE table2.ID IS NULL
最初のクエリでテーブル名プレフィックスを使用して、IDフィールドを明確にすることをお勧めします。なぜなら、拡張した場合に読み込みが非常に混乱するからです後で。 – Polynomial
@Polynomial、合意され、更新されました。 –
年前。しかし、まだ助けてください。私はあなたの答えを見つけました:D thx –
select t1.*
from table1 t1
left outer join table2 t2 on t1.id = t2.id
where t2.id is null
@Raihan LEFT OUTERはT2からの "no rows"に、与えられたT1のために参加するかもしれません(これはこのアプローチのためのlynchpinです)。欠落している行は欠けている行です: –
なぜdownvoteですか? – RedFilter
はこれを試してみてください:
SELECT table1.id
FROM table1
WHERE table1.id NOT IN(SELECT table2.id FROM table2)
は、
これまでのところ、すべての回答は、table1のIDがtable2にないものだけを示しています。あなたはcolumn1にも欠けているtable2のすべてのものを返すクエリを必要としていますか? –
こんにちはポール、いいえ、片方だけが私が必要なものです。 – MilMike
キーワードは「EXCEPT」です。 MySQLはこの操作をサポートしていませんが、検索でこれを使用すると、work-aboutsやその他の方法で多くの結果が返されます。 (この質問は時々出てくる) –