-1

それぞれ複数の列を持つ2つのテーブルがあります。

+------+-------+--+
| Col1 | Col2  |  |
+------+-------+--+
|    1 |  1231 |  |
|    2 |   123 |  |table 1
|    3 | 14124 |  |
+------+-------+--+


+------+-------+--+
| Col3 | Col4  |  |table 2
+------+-------+--+
|    1 |  1231 |  |
|    2 |   323 |  |
|    3 | 14324 |  |
+------+-------+--+

col1col3が同一かどうかを確認したい。つまり、すべての値が一致し、SQL を使用して決定されますか?

私は使用exceptしたくありませんし、2つの列の差を取り、そのゼロかどうかを確認したくありません。

これを行うより効率的な方法はありますか?

4

2 に答える 2

1

何か不足していますか?表をくっつけて比べてみませんか?

select
...
from table1
inner join table2
on table1.col1 = table2.col3
于 2013-10-17T14:51:59.990 に答える
0

outer joinそれらを使用して、null の結果をフィルタリングすることができます

select table_1.col1, table_2.col3
from table_1 full outer join table_2 on table_1.col1, table_2.col3
where table_1.col1 is null
   or table_2.col3 is null

これにより、いずれかの列の値の 1 つが他のテーブルに存在しないすべてのレコードが得られます。

于 2013-10-17T14:58:05.640 に答える