我试图了解以下语句将如何在多个记录上执行.
SELECT * FROM test
WHERE product='$product'
AND (summary LIKE '%$keywords%' OR exp LIKE '%$keywords%')
ORDER BY `$order_by` DESC;
Run Code Online (Sandbox Code Playgroud)
我对SQL很新,所以这就是我想知道的:
1.当您执行SQL查询时,我相信它会查看表中的每一行.找到匹配项后,它会暂时存储结果,直到返回所有结果为止?
2.在上面的例子中,假设我们正在查看表中的单行并且匹配summary.当查询OR exp LIKE '%$keywords%'已找到匹配时,查询是否会继续执行?
由数据库引擎决定如何存储临时结果。每个数据库引擎的实现可能不同。客户端得到的是由行组成的结果集(如果查询产生结果)
不,如果 OR 中的第一个条件评估为 true,它不会检查第二个条件(无论如何这样做有什么意义,你已经知道最终结果)
| 归档时间: |
|
| 查看次数: |
1268 次 |
| 最近记录: |