是否可以通过表找到结果的mysql查询?换句话说,当查询多个表(JOIN
子句中的OR
和WHERE
)时,我可以优先考虑这些表吗?
示例:
表A
names
- Adam,Ashley,Aaron表B
names
- Brian,Bill,Barbara
如果我的查询搜索所有这些表:
SELECT name from names
JOIN A on A.id = names.id
JOIN B on B.id = names.id
WHERE A.name LIKE '%derp%' OR B.name LIKE '%derp%'
LIMIT 5
现在说我想优先考虑表B,结果将是:
Brian,Bill,Barbara,Adam,Ashley
如果我想优先考虑表A,那么结果就是:
Adam,Ashley,Aaron,Brian,Bill
答案 0 :(得分:1)
您可以添加order by
。例如表B
:
order by (B.name LIKE '%derp%') desc
MySQL在整数上下文中将布尔表达式视为0或1。所以,比赛将变为1。