也许不是全世界错了,也许不是我错了,只是题目出错了

前段时间收到一个朋友的邮件,推荐去参加个某论坛的答题活动.
活动地址:http://bbs.phpthinking.com/thread-305-1-1.html
最后的结果竟然是答错一道题目,和该论坛负责人讨论未果,并被指责"不可能全世界都错了,就你对了".
导致心情很是糟糕,不得不跑51上来吐个槽.
现在把出错的题目发上来:
【单选】user表中对字段name(varchar类型)创建了普通索引,下列查询语句可以使用索引是?
A. SELECT * FROM users where name not in (‘a‘,‘b‘);
B. SELECT * FROM users where name like ‘%a%‘;
C. SELECT * FROM users where name between ‘a‘ and ‘b‘;
D. SELECT * FROM users where name = age;
根据分析,大家一般都选C了哈.
在大多数情况下,test1:
create table user (
id int(11) auto_increment,
name varchar(20) not null,
primary key (id)
);
alter table user add index idx_name (name);
并插入几条数据,explain4个选项之后发现,只有C是"完美"的答案.

但是,本题目中并未提到是否存在其他字段,也并未规定是否允许创建其他主键,那么其他的字段和主键是否会对测试结果造成影响呢?
下面,我们来进行test2:
create table user2(
name varchar(20) not null
);
alter table user2 add index idx_name (name);
继续explain...

好的,各位亲爱的小伙伴,经过测试,会发现a-c竟然都使用了索引,当然D一如既往的语法错误.
该负责人在跟我强调大多数的情况下C是如何如何的正确,但我想说,证明一道题目出的有问题,只需要一个反例就足够了.
最后,获悉该题目竟然还是某著名公司的面试题,出题人乃是经由百万年薪的经理之手.
我想,某公司啊,本着对面试尊敬的态度,还是先完善下该题目吧!
----答案一般大多数人是对的,而真理往往掌握在少数人手中.

时间: 2024-12-29 11:43:34

也许不是全世界错了,也许不是我错了,只是题目出错了的相关文章

eclipse中的出现在打包一次后,后面新建的项目都出错了,出现support_v7下面出现红线及解决方法及为什么eclipse中项目继承ActionBarActivity解决方法一样

第一次写博客,有什么问题或者想法的希望各位可以进行评论交流,望大家多多包涵! 遇到的问题是在新建的项目都出错了,出现support_v7下面出现红线及解决方法及为什么eclipse中项目继承ActionBarActivity: 主要是在前面开发的时候遇到了这个问题,昨天有一个android群里面的人问了我这个问题怎么解决,我也是百度了很多种的方法,发现这种方法是有效的. 其实最主要的问题是你在新建android application时,你选择的最小的android的版本是4.0以下的. 详细的

使用VSS2005的时候报错:输入正确的服务器地址依然出错了

使用VSS2005的时候报错: 在安装完vss客户端,进入vss服务器的时候,需要vss服务器的ip和数据库名称.以及初始化文件, 我在进入时,在ip和db名称正确的时候一直进不去, 进过多方查阅都没有找到原因, 最后反复比较,发现是在 第一次 开始-运行-进入服务器文件夹时的密码输错了,所以后来进入vss时输入正确地址也依然进不去, 似乎运行中的用户名密码与VSS中的服务器地址还有着联系, 最后在 开始-运行 中输入正确密码,进去文件后,如果只是在当前情况下的VSS,输入正确服务器路径,依然是

eclipse工程总是提示红叉,但是没有看到哪出错了!The project was not built due to "Could not delete

最近在编译web project的时候,页面总是提示xx方法没有被定义为xx类.但是明明都是正确的. 而且在工程上有个红叉但是程序并没有看到哪有错误.如下图: 解决方法: 1.先打开problem窗口,才能看到意想不到的错误. Window-show view-other-找到problem.然后就会看到一条错误.如下: The project was not built due to "Could not delete '/build/com'.". Fix the problem,

python 运行出现flask运行时提示出错了或者报服务器出错,ValueError: View function did not return a response

python manage.py runserver -d

如果安装VisualSVN Server 中,安装出错了的解决方案,绝对的干货!

VisualSVN Server 安装出错Servic 'VisualSVN Server' failed to start.Please check VisualSVN Server log in Event Viewer for more details,一个成功解决此问题的方法,大家参考下. 我用的是最新版VisualSVN-Server-3.0.1-x64,上图是网上找的,为了方便说明所以加了一张图,该方案适合在Windows 2008.Win7 Sp1.Win Xp Sp3等系统下安装

Delphi XE7编译安卓程序出错了

昨天编译一个先前可以正常运行的程序,忽然就不能编译了,总是提示这个错误,经过一番排查,终于搞定了,原因:删除了安卓lib引用的JAR和单元文件.如果你也出现这个问题,打开工程全部目录,看一下是否有打小红X的地方,如果有处理完毕,再试一试!

找的网上的js日期格式化问题出错了显示 一堆 NaN的东西

//格式化时间,用法new Date(value).format("yyyy-MM-dd hh:mm:ss")Date.prototype.format = function (format) {    var o = {        "M+": this.getMonth() + 1, //month        "d+": this.getDate(), //day        "h+": this.getHours

redis 持久化 如果 AOF 文件出错了,怎么办?

服务器可能在程序正在对 AOF 文件进行写入时停机, 如果停机造成了 AOF 文件出错(corrupt), 那么 Redis 在重启时会拒绝载入这个 AOF 文件, 从而确保数据的一致性不会被破坏. 当发生这种情况时, 可以用以下方法来修复出错的 AOF 文件: 为现有的 AOF 文件创建一个备份. 使用 Redis 附带的 redis-check-aof 程序,对原来的 AOF 文件进行修复. $ redis-check-aof --fix (可选)使用 diff -u 对比修复后的 AOF

数据库出错了怎么办?

下面是网上收集的多种方法,大家可以测试下.(一) 昨晚浏览自己的Blog的时候,突然发现所有页面都无法显示,到后台查看的时候,发现一个"Table 'xxx' is marked as crashed and should be repaired" 的错误.连忙上网搜索,原来修改这个严重的错误很简单: 1. 进入管理mysql的phpmyadmin 2. 在左则选中自己的数据库 3. 在右则勾选中错误信息中的那个'xxx'表 4. 滚动屏幕到下面,有个下拉菜单(With selecte