2016-04-22 50 views
0

我想從多個表table1和table2中使用SELECT *來獲取輸出表,這只是table2數據附加到table1的輸出表。我如何構建SELECT * FROM聲明?SQL - 選擇多個表以合併多個表

表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

聯合聲明中得到取出由DB大數據速度慢,你可以使用加入這裏,

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