首页> 实战笔录 >数据库 >MySql MySql
Mysql IN语句查询详解
作者:小萝卜 2019-10-25 【 MySql 】 浏览 1837
简介语法如下:WHERE column IN (value1,value2,...,valuen),WHERE column NOT IN (value1,value2,...,valuen)
Mysql IN语句查询详解
语法如下:
WHERE column IN (value1,value2,...,valuen)
WHERE column NOT IN (value1,value2,...,valuen)
1、in 后面是记录集,如:
select * from table where uname in(select uname from user);
例子:
SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=0)
在这个 SQL 例子里,我们实现了查出所有状态为 0 的用户(可能是被禁止)的所有文章。首先通过一个查询得到所有所有 status=0 的用户:
2、in 后面是字符串,如:
select * from table where uname in('aaa',bbb','ccc','ddd','eee',ffff'');
注意:这里一定要将字符串用单引号'' 标注起来;
3、in 后面是数组,用如下方法,请参考:
$list 是 ' 1 , 2 , 3 , 4 , 5 '
foreach (explode(',', $list) as $value) {
$rules=$rules."'".$value."',";
}
$arr = $this->db->selectAll('slim_auth_rule'," id IN (".$rules."'')",'id,title');
很赞哦! (0)
相关文章
- mysql数据库中存进的数据是中文,为什么查出来的数据是乱码?
- MySQL怎么删除一个表的所有数据的SQL语句怎么写
- Mysql数据表的创建选项 Row_Format的参数讲解
- MySQL按照汉字的拼音排序查询
- 怎么取消mysql某张表的分区
- Mysql数据修改表的类型
- MySQL通过group by进行分组后查询每组第n条记录和每组前n条记录
- 阿里虚拟主机,MYSQL数据库连接问题: MySQL 4.1+ using the old insecure authentication
- php脚本批量修改mysql数据库表前缀
- sql语句查询优化,不会使用索引,导致全表扫描情况(消耗太多资源)分析及解决方案