分享

sql面试题(3)...

 wingate99 2009-05-11
  1. 问题描述:   
  2.  为管理岗位业务培训信息,建立3个表:   
  3.  S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄   
  4.  C (C#,CN ) C#,CN 分别代表课程编号、课程名称   
  5.  SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩   
  6.     
  7.  要求实现如下5个处理:   
  8.  1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名   
  9.  2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位   
  10.  3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位   
  11.  4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位   
  12.  5. 查询选修了课程的学员人数   
  13.  6. 查询选修课程超过5门的学员学号和所属单位   
  14.     
  15.  1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名   
  16.  --实现代码:   
  17.  SELECT SN,SD FROM S   
  18.  WHERE [S#] IN(   
  19.  SELECT [S#] FROM C,SC   
  20.  WHERE C.[C#]=SC.[C#]   
  21.  AND CN=N'税收基础')   
  22.     
  23.     
  24.  2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位   
  25.  --实现代码:   
  26.  SELECT S.SN,S.SD FROM S,SC   
  27.  WHERE S.[S#]=SC.[S#]   
  28.  AND SC.[C#]='C2'  
  29.     
  30.  3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位   
  31.  --实现代码:   
  32.  SELECT SN,SD FROM S   
  33.  WHERE [S#] NOT IN(   
  34.  SELECT [S#] FROM SC   
  35.  WHERE [C#]='C5')   
  36.     
  37.  4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位   
  38.  --实现代码:   
  39.  SELECT SN,SD FROM S   
  40.  WHERE [S#] IN(   
  41.  SELECT [S#] FROM SC   
  42.  RIGHT JOIN C ON SC.[C#]=C.[C#]   
  43.  GROUP BY [S#]   
  44.  HAVING COUNT(*)=COUNT(DISTINCT [S#]))   
  45.     
  46.  5. 查询选修了课程的学员人数   
  47.  --实现代码:   
  48.  SELECT 学员人数=COUNT(DISTINCT [S#]) FROM SC   
  49.     
  50.  6. 查询选修课程超过5门的学员学号和所属单位   
  51.  --实现代码:   
  52.  SELECT SN,SD FROM S   
  53.  WHERE [S#] IN(   
  54.  SELECT [S#] FROM SC   
  55.  GROUP BY [S#]   
  56.  HAVING COUNT(DISTINCT [C#])>5)  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多