一个笔试中数据库的题目,请高手解答

来源:百度知道 编辑:UC知道 时间:2024/06/27 23:33:38
表(PERSONNEL) 包含以下列:(选择1项)

ID NUMBER(9)

LAST-NAME VARCHAR2(25)

FIRST-NAME VARCHAR2(25)

MANAGER-ID NUMBER(9)

假设:部门经理是一名职员,判断下面两条语句执行结果有何不同:

SELECT p.last_name,p.first_name,m.last_name,m.first_name FROM personnel p,personnel m WHERE m.id=p.magager_id

SELECT p.last_name,p.first_name,m.last_name,m.first_name FROM personnel p,personnel m WHERE p.magager_id =m.id

A 其中一个语句不能执行
B 其中一个语句不是自连接
C 结果相同,显示顺序不同
D 结果不同,显示相同
请问选那一项,为什么?

呵呵,第一次看到这样滑稽的问题

我也搞不清楚了,只能够一个一个的判断

其中一个语句不能执行 ???不可能,两条语句都可以执行

其中一个语句不是自连接 ??两个语句一模一样,只不过条件的位置颠倒了,所以这个也不成立

C 结果相同,显示顺序不同

成立,结果肯定是相同的,你不信自己测试

然后我们分析第四个:结果不同,显示相同 ,条件一模一样,结果肯定是一样的拉!!!

所以这个不成立,

选择C

b

选:"结果相同,显示相同"
没有指定排序字段的时候默认按从左向右字段顺序排序,和查询出来的联结方式没关系

也许个别数据库排序规则特殊,纯属出题目的人无聊

经过测试,结果是“结果相同,显示相同”,但并不像yahahi说的“按从左向右字段顺序排序”,我的测试结果是,三个字段均是乱序,没有顺序,但是两个sql显示的完全一样。测试环境是sql server 2005

我觉得用排除法,是选C,A可以肯定的是两个语句都可以执行,B也都是自连接,D结果肯定是相同的,因为能够自己管的也就是管理员本身了,所以肯定是选择C。

跟上答c