有沒有一種方法可以將多個WHERE合併爲一個MySQL Where and Like問題
這裏是我想合併的。
SELECT *
FROM question
WHERE content LIKE '%$search_each%'
WHERE title LIKE '%$search_each%'
WHERE summary LIKE '%$search_each%'
有沒有一種方法可以將多個WHERE合併爲一個MySQL Where and Like問題
這裏是我想合併的。
SELECT *
FROM question
WHERE content LIKE '%$search_each%'
WHERE title LIKE '%$search_each%'
WHERE summary LIKE '%$search_each%'
可以使用AND或OR運算
SELECT *
FROM question
WHERE content LIKE '%$search_each%'
AND title LIKE '%$search_each%'
AND summary LIKE '%$search_each%'
SELECT *
FROM question
WHERE content LIKE '%$search_each%'
AND title LIKE '%$search_each%'
AND summary LIKE '%$search_each%'
這隻會返回其中的內容,標題和摘要包含搜索文本輸入。
SELECT *
FROM question
WHERE content LIKE '%$search_each%'
OR title LIKE '%$search_each%'
OR summary LIKE '%$search_each%'
這將返回條目任何字段包含搜索詞。
例如:假設你有內容,標題,摘要 我的標題,我的總結順序如下數據,我的內容 這是一個稱號,這是不是一個冠軍,也不是那 不是粉絲,打了很多,所以我現在是一個停止
如果search_each設置爲「標題」,你使用AND查詢,你只會回到第一行。 第二行不會回來,因爲摘要[第3項]沒有字標題。 如果您有相同的search_each並使用OR查詢,則1和2都會返回。它們都包含三列中的至少一列中的搜索項。 如果將搜索詞設置爲「a」,AND查詢將僅返回第3行,而OR查詢將返回所有3行。
AND與OR之間的區別在於AND要求所有「與」在一起的項目都是真實的,或者只要求其中的1個爲真。
建議的話@lone,如果你想要擴展數據庫,你最好不要使用'LIKE'。有更好的方法來做到這一點。我不會在這裏進入他們,因爲大多數使用'LIKE'的人通常不是DBA,所以不關心可擴展性:-)只是一點點的建議,以保持在你的腦海中的一個下雨天未來。 – paxdiablo 2010-07-20 04:29:37