我主要想介绍这两个关于SQL的试题:
1.现有一个表TB其在数据库中的内容如下:
 字段 :工号  姓名    职称       销售额    所属部门经理工号
        1    张三    普通员工   3100        8
        2    李四    普通员工   2400        8
        3    王五    普通员工   3500        8
        ...........
        8    唐六    经理       3000       ----
 要求用一条SQL语句查出:销售额大于经理的普通员工
2.要求返回表TB中字段SEX(SEX BIT)的新表TB1,在这个新表中如果SEX=1表示为男性,0表示为女性.

解决方案 »

  1.   

    1.比较白痴,最讨厌中文字段名.
    select * from TB1 Inner Join (Select * from TB1 Where 职位='经理')t on t.工号=TB1.所属部门经理工号
    Where TB1.销售额>t.销售额2.不知道什么意思!
     当估计是想考察你对Case when的理解.
    Select Case Sex When 0 Then '女' when 1 then '男' end
      

  2.   

    1.
    SELECT 姓名 FROM TB
    WHERE 销售额 > (select 销售额 from TB where 职称='经理')2.
    SELECT 工号,姓名,性别=
    CASE sex 
    WHEN 1 THEN '男' 
    WHEN 0 THEN '女'
    END 
    INTO TB1
    FROM TB如果我没猜错你意思的话应该就是这样,呵呵!
      

  3.   

    我的思路跟indentify(波板糖)一样,gabriel1(风林火山)的方法是不是速度更快?
    什么时候应该用连接呢?
      

  4.   

    SELECT 姓名 FROM TB
    WHERE 销售额 > (select 销售额 from TB where 职称='经理') 上面这个SQL语句能行?应该不行吧还是同意风林火山的
      

  5.   

    1.
    SELECT 姓名 FROM TB
    WHERE 销售额 > (select min(销售额) from TB where 职称='经理')
      

  6.   

    SELECT 姓名 FROM TB
    WHERE 销售额 > (select min(销售额) from TB where 职称='经理')
     and  职称='普通员工'
      

  7.   

    select * from tb1 inner join (select * from tb1 where 职位='经理')t on t.所属部门经理工号=tb1.所属部门经理工号 where  TB1.销售额>t.销售额