一是IN常量,例如下面语句查询一、三年级的学生:
SELECT
*
FROM
student
WHERE
grade
IN
('一','三')
二是使用子查询,也就是IN(SQL语句),例如下面的语句查询不及格的班级的所有学生:
SELECT
*
FROM
student
WHERE
classno
IN
(
select
classno
from
scores
where
score<60
)
mysql的in条件查询,是括号里拼接逗号相隔的字串,这个字长里的个数还有限制,网上的说法是1000个,为了避免超出该范围,可专门封装一个方法 1.使用exists写法替代in写法,exists写法是使用条件查询替代in写法里的一长串字串,这个有时候没法使用,比如使用第三方接口查学校一年级2千个学生的考试成绩,你只知道这些学生的id,没有更多的关联条件 2.使用or的写法,将in条件过长的字串拆开,mysql支持以下写法: 方法封装: 测试效果:欢迎分享,转载请注明来源:内存溢出
评论列表(0条)