mysql – SQL语句是否会在OR语句的第一个匹配项上停止执行?

前端之家收集整理的这篇文章主要介绍了mysql – SQL语句是否会在OR语句的第一个匹配项上停止执行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图了解以下语句将如何在多个记录上执行.

SELECT * FROM test 
WHERE product='$product' 
AND (summary LIKE '%$keywords%' OR exp LIKE '%$keywords%')  
ORDER BY `$order_by` DESC;

我对sql很新,所以这就是我想知道的:

1.当您执行SQL查询时,我相信它会查看表中的每一行.找到匹配项后,它会暂时存储结果,直到返回所有结果为止?

2.在上面的例子中,假设我们正在查看表中的单行,并且有一个匹配的摘要.查询是否会在找到匹配后继续执行OR exp LIKE’%$keywords%’?

最佳答案
>由数据库引擎决定如何存储临时结果.每个数据库引擎实现可能都不同.客户端获取的是由行组成的结果集(如果查询产生结果)
>不,如果OR中的第一个条件评估为真,它将不会检查第二个条件(无论如何,你知道最终结果是什么意思)
原文链接:https://www.f2er.com/mysql/434033.html

猜你在找的MySQL相关文章