问题 问答题

[问题5]假定分别在“职工”关系中的“年龄”和“月工资”字段上创建了索引,如下的Select查询语句可能不会促使查询优化器使用索引,从而降低查询效率,请写出既可以完成相同功能又可以提高查询效率的SQL语句。 Select姓名,年龄,月工资from职工 where年龄>45 or 月工资<1000;

答案

参考答案:

解析:[问题5]解答 此问主要考查在查询中注意where子句中使用索引的问题。 Select 姓名,年龄,月工资 from 职工 where 年龄>45; union Select 姓名,年龄,月工资 from 职工 where 年龄 月工资<1000;[问题5]

[分析]: 问题5中的Select查询语句中使用了条件 or,系统在查询的时候将对全表进行扫描,不会促使查询优化器使用索引,从而降低了查询效率。改正的方法是去掉or,修改后的 SQL语句如下: Select 姓名,年龄,月工资 from 职工 where 年龄>45; union Select姓名,年龄,月上资 from 职工 where 年龄 月工资<1000;

单项选择题
判断题