文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>t-sql 的一个面试题

t-sql 的一个面试题

时间:2011-04-01  来源:香炮

有学生信息表(包括一些基本信息).课程表(课程名称,课程id等).

有学生的成绩表(学生id,课程id,成绩等)

 

要查出选修科大于5门的那个学生的基本信息

   1:  SELECT  s.age ,
   2:          s.name
   3:  FROM    dbo.Student s
   4:  WHERE   s.id IN ( SELECT    aa.SID
   5:                    FROM      ( SELECT    COUNT(sid) AS a ,
   6:                                          SID
   7:                                FROM      dbo.Result
   8:                                GROUP BY  sID
   9:                              ) AS aa
  10:                    WHERE     aa.a > 5 )

要是再去查成绩大于多少分的呢? 类同.

 

还有t-sql中关于case when 的用发.其实这个怎么能够在面试的时候考呢?真是不能够理解到底招人的人是一个什么样的心态在工作.

CASE 表达式有两种格式:

  • CASE 简单表达式,它通过将表达式与一组简单的表达式进行比较来确定结果。
  • CASE 搜索表达式,它通过计算一组布尔表达式来确定结果。

A. 使用带有 CASE 简单表达式的 SELECT 语句

   1:  USE AdventureWorks2008R2;
   2:  GO
   3:  SELECT   ProductNumber, Category =
   4:        CASE ProductLine
   5:           WHEN 'R' THEN 'Road'
   6:           WHEN 'M' THEN 'Mountain'
   7:           WHEN 'T' THEN 'Touring'
   8:           WHEN 'S' THEN 'Other sale items'
   9:           ELSE 'Not for sale'
  10:        END,
  11:     Name
  12:  FROM Production.Product
  13:  ORDER BY ProductNumber;
  14:  GO
  15:   

B. 使用带有 CASE 搜索表达式的 SELECT 语句

 

   1:  USE AdventureWorks2008R2;
   2:  GO
   3:  SELECT   ProductNumber, Name, 'Price Range' = 
   4:        CASE 
   5:           WHEN ListPrice =  0 THEN 'Mfg item - not for resale'
   6:           WHEN ListPrice < 50 THEN 'Under $50'
   7:           WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250'
   8:           WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000'
   9:           ELSE 'Over $1000'
  10:        END
  11:  FROM Production.Product
  12:  ORDER BY ProductNumber ;
  13:  GO
  14:   
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载