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