簡體   English   中英

mysql中“ WHERE”和“ IN”之間的區別

[英]Difference between “WHERE ” and “IN” in mysql

之間的區別是什么?

SELECT * FROM news WHERE cat_id IN (1, 2, 6, 8);

並創建一個循環:

 foreach($cat as $key => $value){
    $sql = "SELECT * FROM news WHERE cat_id = $value['id'];
 }

第一個示例效率更高,因為僅運行了一個sql查詢。 第二個示例的查詢數量為x,並且速度慢得多。

我要說的是,您永遠不要以第二種方式,而總是以第一種方式。

第一個示例僅運行1個查詢,第二個示例運行N個查詢。

哦,是的, 永遠不要第二種方式。

我認為僅在某些情況下,當您想輸入ID的確切順序從數據庫中提取數據時,可能要使用第二條語句。

在這種情況下,當您使用第一個查詢時,如果這些ID在數據庫中不是按此ID順序排列,則結果可能不按輸入ID(1、2、6、8)排列。 與數據庫匹配的第一個ID將返回結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM