0

私はSQLの初心者です。

同じ列を持つ 2 つの異なるテーブルがあり、名前が一意であると想定しています。

TABLE_A

Name  | AGE
-----------
Toby  |  2
Milo  |  1
Achmed|  3  

TABLE_B

Name  | AGE
-----------
Milo  |  2

TABLE_B は私の上位のテーブルです。TABLE_B の名前の値が TABLE_A に含まれている場合は、TABLE_B の値を選択する必要があります。結果を以下に示します。

RESULT はテーブルではなく、クエリの結果です。

結果

Name  | AGE
-----------
Toby  |  2
Milo  |  2
Achmed|  3  

私はプログラミング側でこの問題をすでに解決していますが、この結果を取得するためのSQLクエリについてはカレーです。

TSQL または PLSQL は関係ありません。

4

3 に答える 3

1

ユニオンを使用しているときに重複を排除することもできます。これは完全な結合よりも高速だと思います。

SELECT Name, Age FROM Table_B
UNION
SELECT Name, Age FROM Table_A WHERE TABLE_A.NAME NOT IN (SELECT Name FROM Table_B)
ORDER BY Name;
于 2013-07-04T20:29:54.613 に答える
1

このようなユニオンを使用して、両方の結果を「融合」できます

SELECT Name, AGE FROM TABLE_A
UNION
SELECT Name, AGE FROM TABLE_B
ORDER BY Name;

SQL ステートメントは、"TABLE_A" および "TABLE_B" テーブルからすべての異なる名前と年齢を選択します。

于 2013-07-04T20:03:54.510 に答える