我有三个桌子。 Table1(id,name),Table2(id,name)和Table3(t1.id,t2.id)我需要一个SELECT命令,向我显示Table1中的所有内容,其中id与Table3中的外键t1.id不相同
有什么办法可以使这项工作成功吗?
答案 0 :(得分:0)
假设您要查找Table1中t3.id列中不存在的所有内容。
SELECT *
FROM Table1
WHERE id NOT IN (SELECT t1id
FROM Table3);
SQL Fiddle在MySQL中,但是该语法对MariaDB也有效。
答案 1 :(得分:0)
确实,您是要查看Table1中的记录,但其中Table3中不存在匹配的t1id?
然后:
SELECT *
FROM Table1 AS t1
WHERE NOT EXISTS (
SELECT 1
FROM Table3 AS t3
WHERE t3.t1id = t1.id
);
答案 2 :(得分:0)
SELECT Table1.*
FROM Table1
LEFT JOIN Table3 ON Table1.id = Table3.t1id
WHERE Table3.t1id IS NULL;