使用SQL 在單一欄位中搜尋多個值
在搜尋演算法領域,通常需要尋找與多個值相符的記錄關鍵詞。在 SQL 中,可以透過利用搜尋精確值或使用通配符的特定運算子來完成此任務。
考慮以下查詢:
<code class="sql">SELECT name FROM Products WHERE name LIKE %$search[1]% AND name LIKE %$search[2]% LIMIT 6;</code>
此查詢假定您已經拆分將搜尋字串分解為單字。但是,與其將LIKE 運算子與AND 一起使用,不如使用IN 運算子來搜尋多個絕對值:
<code class="sql">SELECT name FROM products WHERE name IN ( 'Value1', 'Value2', ... );</code>
或者,如果願意,您可以將OR 運算子與LIKE 一起使用:
<code class="sql">SELECT name FROM products WHERE name LIKE '%Value1' OR name LIKE '%Value2';</code>
透過使用IN,您可以指定要搜尋的精確值,從而確保精確匹配。相反,OR 允許您查找與任何指定值相符的記錄。這些運算符之間的選擇取決於所需的搜尋行為。
以上是如何在單一SQL欄位中高效率搜尋多個值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!