Python SQL完全外部联接或内部联接

Python SQL完全外部联接或内部联接,python,sql,join,Python,Sql,Join,我想这是一个简单的问题。 我得到新数据,并将其存储到临时表“Units\u temp”中。我想把这个和表“Units”连接起来。它们有相同的列,键是“Client_id” 我想做一些类似于bellow的事情(我想我也可以用insert进行左连接?) 我有很多列,所以如果没有必要,我宁愿不列出代码中的所有列 我使用Python和MS access数据库 strSQL = "SELECT * FROM Units_temp FULL OUTER JOIN Units ON Units_te

我想这是一个简单的问题。 我得到新数据,并将其存储到临时表“Units\u temp”中。我想把这个和表“Units”连接起来。它们有相同的列,键是“Client_id”

我想做一些类似于bellow的事情(我想我也可以用insert进行左连接?)

我有很多列,所以如果没有必要,我宁愿不列出代码中的所有列

我使用Python和MS access数据库

strSQL = "SELECT *
FROM Units_temp
FULL OUTER JOIN Units ON Units_temp.Client_id=Units.Client_id"


cur = conn.cursor()
cur.execute(strSQL)
表单位温度

+----------+------+-------+
| Client_id| Name | Units | 
+----------+------+-------+
|  1       |   A  |   12  |
|  2       |   B  |   2   |
|  4       |   D  |   109 |
|  5       |   E  |   13  |
+----------+------+-------+
表单位

+----------+------+-------+
| Client_id| Name | Units | 
+----------+------+-------+
|  1       |   A  |   12  |
|  2       |   B  |   2   |
|  3       |   C  |   4   |
+----------+------+-------+
我想要的结果

+----------+------+-------+
| Client_id| Name | Units | 
+----------+------+-------+
|  1       |   A  |   12  |
|  2       |   B  |   2   |
|  3       |   C  |   4   |
|  4       |   D  |   109 |
|  5       |   E  |   13  |
+----------+------+-------+

MS Access不支持
完全连接

如果我理解正确的话,您有一些排序查询。如果重复的行实际上是相同的,您可以使用
UNION

SELECT ut.*
FROM Units_Temp as ut
UNION
SELECT u.*
FROM Units as u;
如果您希望一个表中的行“覆盖”另一个表中的行,则可以使用
UNION ALL
NOT EXISTS

SELECT ut.*
FROM Units_Temp as ut 
UNION ALL
SELECT u.*
FROM Units u
WHERE NOT EXISTS (SELECT 1
                  FROM Units_Temp as ut
                  WHERE ut.Client_id = u.Client_id
                 );

谢谢戈登!很好。但是,数据库没有更新。我可以用python打印结果并查看它是否合并/联接,但我的数据库没有联接。@NewDev。如果要更改表,则需要插入行。那将是一个不同的问题。好的,很抱歉不清楚。我想用“Units\u temp”中的新信息更新表“Units”。