Mysql 即使don';不存在于另一张桌子上

Mysql 即使don';不存在于另一张桌子上,mysql,sql,Mysql,Sql,我有两个表,希望联接,但若其他表中不存在行,则不会显示结果 +-------------------+ +-------------------+ | TABLE 1| | | Table 2 | +-------------------+ +-------------------+ |deviceID| xxx | |deviceID| yyy | |-------------------| |--

我有两个表,希望联接,但若其他表中不存在行,则不会显示结果

+-------------------+   +-------------------+   
|      TABLE 1|     |   |     Table 2       |
+-------------------+   +-------------------+   
|deviceID|  xxx     |   |deviceID|    yyy   |   
|-------------------|   |-------------------|   
| 1    |  Service 1 |   | 1    |   Asset 1  | 
| 2    |  Service 2 |   | 2    |   Asset 2  |   
| 3    |  Service 3 |   |      |   
+-------------------+   +-------------------+
SQL:

显示的结果是deviceID:1、2和3未显示,我想显示它,即使它在表2中不存在


我尝试了左连接右连接,但不起作用

您是否尝试过简单的
左连接

SELECT L.xxx, A.yyy
FROM TABLE1 L LEFT JOIN
     TABLE2 A 
     ON L.deviceID = A.deviceID;

这应该可以满足您的需要。

如本例所示,左连接工作正常。给你

所以这似乎不是问题所在。您是否提供了一个dbfoddle示例,但它不起作用

模式(MySQL v8.0)


查询#1

SELECT
t1.deviceID
,t1.xxx
,t2.yyy
FROM
Table1 t1 LEFT JOIN
Table2 t2 ON t1.deviceID = t2.deviceID;

查询#2

SELECT

t1.xxx
,t2.yyy
FROM
Table1 t1 LEFT JOIN
Table2 t2 ON t1.deviceID = t2.deviceID;


您是否尝试过
内部联接

SELECT L.xxx, A.yyy
FROM TABLE1 L INNER JOIN
     TABLE2 A 
     ON L.deviceID = A.deviceID;
这应该是可行的,因为
内部联接
采用两个表中的公共值;

输出


我在我的问题中写下了这个,我已经试过了,但并没有起作用,因为deviceID 3不存在于表中2@Nick . . . 非常感谢。
| deviceID | xxx       | yyy     |
| -------- | --------- | ------- |
| 1        | Service 1 | Asset 1 |
| 2        | Service 2 | Asset 2 |
| 3        | Service 3 |         |
SELECT

t1.xxx
,t2.yyy
FROM
Table1 t1 LEFT JOIN
Table2 t2 ON t1.deviceID = t2.deviceID;
| xxx       | yyy     |
| --------- | ------- |
| Service 1 | Asset 1 |
| Service 2 | Asset 2 |
| Service 3 |         |
SELECT L.xxx, A.yyy
FROM TABLE1 L INNER JOIN
     TABLE2 A 
     ON L.deviceID = A.deviceID;
| DeviceID |    xxx    |    yyy   |
|:--------:|:---------:|:--------:|
|     1    | Service 1 | Assest 1 |
|     2    | Service 2 | Assest 2 |