“SELECT IN”金字塔是否是良好的做法?

时间:2016-12-06 18:18:17

标签: mysql sql

我正在尝试理解编写涉及多个表的SQL查询的最佳模式或实践,例如对象的权限。我可以得到我正在寻找的结果,但想知道这是否是最佳实践。

示例:

SELECT * FROM windows WHERE id IN(
    SELECT `window` FROM window_groups WHERE `group` IN(
         SELECT DISTINCT `group` FROM user_groups WHERE `user` = 1
    )
)

问题:这是SELECT IN()“金字塔”的良好做法吗?

1 个答案:

答案 0 :(得分:0)

出于某种原因,我不推荐这种模式 -
它使您只能从外部表中检索信息,这使得它在许多用例中不合格,并且难以调试。