我有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
语句左侧的表)将返回所有数据。您始终可以使用aRIGHT JOIN
并以另一种方式命名表(即table1 LEFT JOIN table2
等效于table2 RIGHT JOIN table1
),但是LEFT JOIN
语法更为常见。
仅从两个表中返回匹配数据的联接称为an INNER JOIN
,通常缩写为just JOIN
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句