poptest吧 关注:48贴子:229
  • 0回复贴,共1

学员就业面试题目!!!!!

只看楼主收藏回复


下面的题目是神州数码的一位测试总监问过我的学员的面试题目,下面是题目的答案。
题目:
  写出一条Sql语句:
    取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID可能不是连续的。)
解答(已测试):
  1、假设ID是连续的:
    select top 10 * from A where ID not in (select top 30 ID from A)
  或
    select * from A where ID between 31 and 40
  2、假设ID是不连续的:
    select top 40 * from A except select top 30 * from A
  或
    select top 10 * from A where ID > (select max(ID) from A where ID in (select top 30 ID from A))

    select top 10 * from A where ID not in (select top 30 ID from A)


1楼2015-10-21 15:21回复