编写嵌套的 SQL 查询

Write nested SQL query

我有2张桌子

表 1

ID    Name
--------------------
 1    John Carter
 2    Jack Hammer
 3    John Adams
 4    John Doe
 5    Brian Adams

表2

ID     ID_FromTable1
-----------------------------
 1        2
 2        3
 3        1
 4        1
 5        1
 6        2
 7        3
 8        1
 9        1
10        5
11        4
12        5
13        4

ID在两个表中都是主键

现在我做这样的事情:

SELECT ID 
FROM Table1 
WHERE Name like '%John%'

这将给我 IDs 134

现在使用这些 ID,我想在 Table2 上编写查询以删除 ID_FromTable113 的所有条目, 4.

请帮我写一个 SQL 查询,从 Table1 中获取所有 ID,其中名称是 'John',然后使用这些 ID s 从 Table2.

中删除条目

希望我已经把问题说清楚了。如果您需要任何说明,请告诉我。

在 MySQL 中,您可以使用此连接

delete table2
from table2
join table1 on table2.id_fromtable1 = table1.id
WHERE t1.Name like '%John%'

您可以将 IN 与子查询一起使用:

DELETE FROM Table2 
WHERE ID_FromTable1 IN ( SELECT ID 
                         FROM Table1 
                         WHERE Name LIKE '%John%' )