为什么SQL语句查询不出来数据

img


SELECT student_id from exam where exam_name='计算机' AND exam_name='英语';
这条语句为什么查询不出数据

语句有问题啊
SELECT student_id from exam where exam_name='计算机' Or exam_name='英语';
SELECT student_id from exam where exam_name in ('计算机' ,'英语');

肯定不能同时满足了。改为or

SELECT student_id from exam where exam_name='计算机' or exam_name='英语';

啊,终于看懂你的问题了。想查询出所有既学计算机也学了英语的人员是吧,你的1,4,5,6是学号不是id
select a.student_id from (select student_id from exam where exam_name='英语' ) a left join (select student_id from exam where exam_name='计算机' ) b
on a.student_id =b.student_id

不能这样写,改一下
SELECT student_id from exam where exam_name in('计算机','英语')

and ? 好像该用 or

能查到才怪哪!!!
exam_name='计算机' and exam_name='英语',有这样的exam_name既等于计算机又等于英语,恒false,你把and 改为or试试

SELECT student_id from exam where exam_name='计算机' AND exam_name='英语'; 你这个条件 and 是并且的关系,一个字段一个值等于计算机还有等于英语 所以不出来啊

可以联合编程啊,先把学计算机和英语的全部提取出来,再用编程语言判断studentID是不是同时有这两门学科的成绩就好了