Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 是否从其他表中找不到键的表中删除?_Mysql_Sql_Subquery - Fatal编程技术网

Mysql 是否从其他表中找不到键的表中删除?

Mysql 是否从其他表中找不到键的表中删除?,mysql,sql,subquery,Mysql,Sql,Subquery,表1: 身份证 名字 表2: 身份证 其他表格id 表1\u id 基本上我想做的是 Delete from table_1 where id not in (select table_1_id from table_2 group by table_1_id); 哪种方法应该有效,我想知道的是子查询是否是最好的方法/还有其他方法吗?我更喜欢在子查询上使用JOIN DELETE a FROM table_

表1:

  • 身份证
  • 名字
表2:

  • 身份证
  • 其他表格id
  • 表1\u id
基本上我想做的是

Delete from table_1 
where id not in (select table_1_id 
                 from table_2 
                 group by table_1_id);

哪种方法应该有效,我想知道的是子查询是否是最好的方法/还有其他方法吗?

我更喜欢在子查询上使用
JOIN

DELETE a FROM table_a a
            LEFT JOIN table_2 b
                ON a.ID = b.table_1_id
WHERE   b.table_1_id IS NULL