如何从一个表中选择不存在于另一个表但在不存在的记录中返回NULL的所有记录



我有一个问题。我的数据库中有两个表,表A和表B。表B包含表A中的数据,因为表B是表A主键中的外键,而不是表A主键。如何从表B中选择不包含在表A中的所有AS NULL记录?

tableA field : field1, field2, field3
tableB field : field1, field2, field3, field4, ...

谢谢。

我不确定那是不是

CREATE TABLE #input_a (id INT)
CREATE TABLE #input_b (id INT)
INSERT INTO #input_a VALUES(1)
INSERT INTO #input_a VALUES(2)
INSERT INTO #input_a VALUES(3)
INSERT INTO #input_a VALUES(4)
INSERT INTO #input_b VALUES(1)
INSERT INTO #input_b VALUES(5)
INSERT INTO #input_b VALUES(3)
INSERT INTO #input_b VALUES(6)

SELECT b.id, a.id FROM #input_b as b LEFT JOIN #input_a as a ON b.id=a.id
DROP TABLE #input_a
DROP TABLE #input_b

看看:https://dbfiddle.uk/?rdbms=sqlserver_2012&fiddle=f447b6ff6f986d4bdfcda6a2be1b4c5

也许可以尝试以下操作:

Select 
* 
From
TableB
LEFT JOIN
TableB
ON TableA.primary_key = TableB.foreign_key;

最新更新