有两个表 table1 和 table2 我希望加入这些表,并希望检索不等于 table1 的行是两个表中的行。
表1
override func viewDidLoad() {
super.viewDidLoad()
let concurrentQueue = DispatchQueue(label: "test", attributes: .concurrent)
concurrentQueue.async {
while true{
print("hello")
sleep(1)
}
while true{
print("world")
sleep(1)
}
}
}
表2
ID NAME Dept
1 B Finance
2 R HR
3 B CDU
它不能正常工作
ID PASSPORT
1 Yes
2 No
预期结果
SELECT table1.ID, table1.NAME, table1.Dept FROM TABLE1 INNER JOIN TABLE2 ON
TABLE1.ID != TABLE2.ID
答案 0 :(得分:3)
使用left join to和where子句来获取仅在table1中的值
select
table1.id,
table1.name,
table1.Dept
from
table1
left join table2 on table2.id = table1.id
where
table2.id is NULL;
以上查询的输出:
如果找不到第二个表中的记录,则左连接将插入空值。因此,添加where子句以获取在第二个表中找不到的所有结果。
以下是使用left join
https://www.w3schools.com/sql/sql_join_left.asp
答案 1 :(得分:1)
尝试此查询 -
SELECT ID
,NAME
,Dept
FROM TABLE1
WHERE ID NOT IN (
SELECT DISTINCT ID
FROM Table2
WHERE ID IS NOT NULL
);