簡體   English   中英

MySQL查詢從多個表中選擇,顯示所有來自表1 +一些數據來自表2

[英]MySQL query select from multiple tables, display all from table1 + some data from table2

我有2張桌子。 我想打印出table1的所有訪問列表 ,以及table2的接口 但是某些訪問列表沒有與訪問列表關聯的接口(但是我仍然要打印這些訪問列表)。 我該怎么做呢? (我只是無法獲得所需的結果。

表格1

| id | access-list  | ... 
+----+--------------+ 
| 0  | list_1       | ...
| 1  | list_2       | ...
| 2  | list_3       | ...
| 3  | list_4       | ...

表2

| id | access-list  | interface |
+----+--------------+-----------+
| 0  | list_1       | iface0    |
| 1  | list_4       | iface1    |

預期結果:

0 list_1 iface0 bla bla bla 
1 list_2        bla bla bla
2 list_3        bla bla bla 
3 list_4 iface1 bla bla bla
SELECT *
FROM table1 t1
LEFT JOIN table2 t2
    ON t1.access_list = t2.access_list

當您需要一個表中的所有數據,而僅需要另一個表中的數據時,通常需要使用OUTER JOIN LEFT JOIN實際上是LEFT OUTER JOIN縮寫,它指定哪個表( JOIN語句左側的表)將返回所有數據。 您始終可以使用RIGHT JOIN並以另一種方式命名表(即table1 LEFT JOIN table2等效於table2 RIGHT JOIN table1 ),但是LEFT JOIN語法更為常見。

僅從兩個表中返回匹配數據的INNER JOIN稱為INNER JOIN ,通常縮寫為JOIN

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM