编写嵌套的 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
在两个表中都是主键
ID_FromTable1
是指向Table1
的ID
的外键。
现在我做这样的事情:
SELECT ID
FROM Table1
WHERE Name like '%John%'
这将给我 ID
s 1
、3
、4
。
现在使用这些 ID
,我想在 Table2
上编写查询以删除 ID_FromTable1
为 1
、3
的所有条目, 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%' )
我有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
在两个表中都是主键
ID_FromTable1
是指向Table1
的ID
的外键。
现在我做这样的事情:
SELECT ID
FROM Table1
WHERE Name like '%John%'
这将给我 ID
s 1
、3
、4
。
现在使用这些 ID
,我想在 Table2
上编写查询以删除 ID_FromTable1
为 1
、3
的所有条目, 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%' )