要从stude nt表中查出学号(sno)最后一位是0、1和5的学生的信息,正确的查询语句为: select * from student where
A.sno like '015'
B.sno like '%015'
C.sno like '%[015]'
D.sno like '%[^015]'
B选项为什么不对
这道题应该选C吧,B选项明显不对,他会把所有以 015结尾的学生信息查询出来,注意是类似 20230101015这样的数据,而不是题意要求的最后一位是0/1/5的 。
需要注意的是,如果是mysql 以上答案都不对,正确的应该是:
select * from student where sno REGEXP '[015]$'
参考GPT和自己的思路:选项B中的通配符 %015 表示在学号的任意位置都能匹配到015,而不只是匹配到最后一位是5的学生。因此,选项B不符合要求,正确的查询语句应该是选项A,即通过精确匹配查找最后一位是0、1和5的学生。
B选项不正确的原因是,它使用了通配符“%”来匹配学号中包含“015”的部分,但是这样会匹配到包括“1015”、“2015”等学号,而不仅仅是最后一位是“0”、“1”或“5”的学号。
正确的查询语句应该使用通配符“_”来匹配学号中的单个字符,结合“%”来匹配最后一位是“0”、“1”或“5”的学号。因此,正确的选项应该是A选项,即:
select * from student where sno like '%[015]'