MySQL中的多个OR子句
我试图抓取id=3或id=9或id=100的内容。。。记住,我可以有几百个这样的ID 编写查询最有效的方法是什么MySQL中的多个OR子句,sql,mysql,database,Sql,Mysql,Database,我试图抓取id=3或id=9或id=100的内容。。。记住,我可以有几百个这样的ID 编写查询最有效的方法是什么 $sql = "SELECT name FROM artists WHERE (id=3 OR id=9 OR .... id-100)" $sql=“从艺术家中选择名称,其中id为REGEXP regex pattern” 只调用所需的列,而不是使用* 您可能需要使用以下功能: ... WHERE id IN (3, 9, 100); 函数语法中的: expr IN(值,…)
$sql = "SELECT name FROM artists WHERE (id=3 OR id=9 OR .... id-100)"
$sql=“从艺术家中选择名称,其中id为REGEXP regex pattern”
只调用所需的列,而不是使用*
您可能需要使用以下功能:
... WHERE id IN (3, 9, 100);
函数语法中的:
expr IN(值,…)
检查值是否在一组值内
如果expr
等于中的列表中的任何值,则返回1
,否则返回0
您可以在条件中使用SQL
SELECT * FROM table WHERE ID IN ('1', '2', '3', '4');
-1... 如果存在索引,并且假设正则表达式模式可以更有效(如范围),这不是给定的(即不在post中),则效率低下。在某些情况下,将ID插入临时表并对其执行联接可能会更容易。当然,这需要进行测试,以确定有多少ID会使表创建开销变得值得。用子查询代替临时表怎么样<代码>。。。其中id位于(从…)中选择id
... WHERE id IN (3, 9, 100);
SELECT * FROM table WHERE ID IN ('1', '2', '3', '4');
SELECT * FROM table WHERE id IN (1,2,5);
SELECT * FROM table WHERE id IN (1,2,5)