与外键(MariaDB)的ID不相同的SQL命令

时间:2019-12-04 21:30:28

标签: sql mariadb

我有三个桌子。 Table1(id,name),Table2(id,name)和Table3(t1.id,t2.id)我需要一个SELECT命令,向我显示Table1中的所有内容,其中id与Table3中的外键t1.id不相同

有什么办法可以使这项工作成功吗?

3 个答案:

答案 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;