我正在尝试理解编写涉及多个表的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()
“金字塔”的良好做法吗?
答案 0 :(得分:0)
出于某种原因,我不推荐这种模式 -
它使您只能从外部表中检索信息,这使得它在许多用例中不合格,并且难以调试。