MySQL 获取所有子 ID 的 SQL 查询语句

假设有一个表格名为'my_table',包含'id' 和 'parent_id' 两个字段,您可以使用以下 SQL 查询语句获取所有 'parent_id' 为指定值的记录的 'id':

SELECT id FROM my_table WHERE parent_id = [指定值];

其中,'[指定值]' 需要替换为实际的父 ID 值。

如果想要查询所有子 ID,可以使用以下递归查询:

WITH RECURSIVE cte AS (
  SELECT id, parent_id
  FROM my_table
  WHERE parent_id = [指定值]
  UNION ALL
  SELECT t.id, t.parent_id
  FROM my_table t
  JOIN cte ON t.parent_id = cte.id
)
SELECT id FROM cte;

这个 SQL 递归查询会一直向下查询直到所有子 ID 被找到。其中,'[指定值]' 需要替换为实际的父 ID 值。

MySQL 获取所有子 ID 的 SQL 查询语句

原文地址: https://www.cveoy.top/t/topic/lJXa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录