一道sql面试题的解答

题目:

  写出一条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) 

 

 

时间: 2024-09-13 03:43:26

一道sql面试题的解答的相关文章

请教一道SQL面试题

问题描述 有一张表schools有三列分别是class(班级).name(姓名).性别(F or M)eg:1 a F1 b F1 c M2 d M2 e M3 f F...现在要查所有性别人数相同的班级怎么写sql,谢谢. 问题补充:引用 解决方案 引用sql比较难写,用java代码过度下吧.对性能没什么影响的可以代码协助完成.还是用1楼兄弟说的方法吧,查出来再用高级语言判断解决方案二:没听说过,查询条件还有在不同的记录之间进行判断的.解决方案三:你确定输出结果是一组吗?按照题目的描述,应该有

一道sql面试题附答案

有1张表, Wages 表 ------------------------------------------- Emp_id       | 基本工资| 工龄工资| ------------------------------------------- 1                | 1.00        | 1.00       | ------------------------------------------- 2                | 1.00        

一道sql面试题附答案_MsSql

有1张表, Wages 表 ------------------------------------------- Emp_id       | 基本工资| 工龄工资| ------------------------------------------- 1                | 1.00        | 1.00       | ------------------------------------------- 2                | 1.00        

代码分析-一道Java笔试题,求解答(关于类的加载与初始化)

问题描述 一道Java笔试题,求解答(关于类的加载与初始化) 自己查了一些资料,还是看不懂这个程序的输出结果,求各位详细解释初始化和执行过程,谢! public class Alibaba { public static int k = 0; public static Alibaba t1 = new Alibaba("t1"); public static Alibaba t2 = new Alibaba("t2"); public static int i =

cte结合partition - 一道复杂的sql面试题

今天别人问了我一道复杂的sql面试题, 题目是这样的:   --code     价格                  时间'0010'     100      '2012-08-01 00:00:00.000''0010'     100      '2012-08-02 00:00:00.000''0010'     100      '2012-08-03 00:00:00.000''0010'     100      '2012-08-05 00:00:00.000''0012' 

java基础高手看这里了,这几道基础性的面试题求解答。

问题描述 java基础高手看这里了,这几道基础性的面试题求解答. 同学出去应聘,笔试的时候遇到这几道基础题不会做,拿给我看,发现自己也不怎么会,java基础好多都有些忘了,来帮忙解答一下吧. 1.实现一个函数,函数有一个形参,类型为整数,功能是将形参的十进制数的二进制序列打印到控制台上. 2.实现一个函数,函数有一个形参,类型为集合,功能是将集合中的内容按照每行3个输出(写出两种以上方法). 3.有数据表,字段定义为如下: 客户 商品 报价 报价日期 表中存放着不同客户,不同商品,不同日期的报价

java多线程问题-有一道Java面试题,没太理解明白,求大神指点啊~

问题描述 有一道Java面试题,没太理解明白,求大神指点啊~ package test2; /** 设计4个线程,其中两个线程每次对i增加1,另外两个线程对i每次减少1 @author liuyu * */ public class Test { private int i ; private synchronized void inc(){ i ++; System. out .println(Thread.currentThread().getName()+ "--inc--" +

sql-进行遇到的一个SQL 面试题

问题描述 进行遇到的一个SQL 面试题 我现在有两张表 一个用户表:user (id name age) 一个产品表:product(id name)现在有一个需求 用户可以对产品添加任何属性: 如用户想添加产品的来源地 然后用户能够查询到该属性和原有的属性其他用户不能查到添加的属性; 请问这个表要怎么设计 可以添加任何字段和表结构; 解决方案 可以给表增加如下字段1,版本 :可以查询以前内容2,属性名称 :可以增加任意属性3,属性内容:3,用户权限:只限某个用户查询 解决方案二: 产品表:pr

c++-一道C++面试题,不知道怎么考虑

问题描述 一道C++面试题,不知道怎么考虑 昨天去面试,有道题目不知道怎么考虑,哪位帮忙看下,指点一二? 一个超市有5个收银台,营业时间早8点晚8点,闲余时间是12:30-13:30,此时客人不用排队可以直接结账:繁忙时间16:30-19:00,此时每个收银台都是排满人的,假设买个队伍最多10人:求计算当天某个客人出现在2号收银台队伍里的第3个位置上的概率,写出过程和结果. 解决方案 12:30-13:30 结账 队伍0人 这时不可能出现在队伍第3人 概率为0 16:30-19:00 结账队伍1