我有这个查询哪些工作正常。使用连接的替代语法
我所需要的行,其中所述子类别属于公司
OR
公司拥有访问默认子类别(c.plannerdefaults = 1)和子类别是默认子类别(s.company = 0)
SELECT distinct
s.category from planner_subcat s, company c
where
(
c.id = 66
and c.plannerdefaults = 1
and s.company = 0
)
or s.company = 66
的事情是,也许我的想法是错在这里,我得到的印象是,如果查询与
select col from table1, table2
0123开始
那么方法有问题,但在这种情况下,我想不出使用连接的替代方案。
有没有?
你是什么意思“有什么问题的方法”?你的意思是在性能方面? – enigma 2014-10-31 17:01:40
我没有看到任何问题及其逻辑。你可以尝试使用存在的逻辑来减少锁定 – Jaylen 2014-10-31 17:02:50
你使用的逻辑看起来很好。你可以使用显式的“OUTER JOIN”替换隐式的外连接(你的逗号)。用INNER JOIN构建这个可能会非常难看。可以对同一个表进行多次命中,也可以在两次选择之间使用UNION,其中一个使用INNER JOIN,另一个使用OUTER。 – JNevill 2014-10-31 17:05:14