2016-04-22 17 views
0

複数のテーブルtable1とtable2からSELECT *を使用して、table1に追加されたtable2データ以外の出力テーブルを取得します。 SELECT * FROM文を作成するにはどうすればよいですか?複数のテーブルを組み合わせるために複数のテーブルを選択する

表1

id model datetime  driver distance 
---|-----|------------|--------|--------- 
1 | S | 04/03/2009 | john | 399 
2 | X | 04/03/2009 | juliet | 244 
3 | 3 | 04/03/2009 | borat | 555 

表2

id model datetime  driver distance 
---|-----|------------|--------|--------- 
4 | 3 | 03/03/2009 | john | 300 
5 | X | 03/03/2009 | juliet | 200 

所望の出力:

model datetime  driver distance 
-----|------------|--------|--------- 
    S | 04/03/2009 | john | 399 
    X | 04/03/2009 | juliet | 244 
    3 | 04/03/2009 | borat | 555 
    3 | 03/03/2009 | john | 300 
    X | 03/03/2009 | juliet | 200 

答えて

1

これはあなた

助けるかもしれない、これを試してみてください
SELECT table1.model, table1.datetime, table1.driver, table1.distance FROM table1 
    UNION ALL SELECT table2.model, table2.datetime, table2.driver, table2.distance FROM table2; 
+0

出力は 'id'を含めることはできません。なぜUNIONではなくUNION ALLであるのですか? –

+0

これは無効なSQLです。なぜUNIONではなくUNION ALLであるのですか? –

+0

@ CL .. UNIONは重複したレコードを削除しますが、UNION ALLは重複しないレコードを削除します。 –

-1

UNION文は、DBからの大規模なデータを取得するために遅くなる、あなたはここに参加使用することができ、

select * from table0 left join table2 on table0.b = table2.b where table2.col is not null