A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周星星 注册黑马   /  2012-6-19 10:41  /  1744 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

操作数据库时一定要自己写,最好不要偷懒(用sql server中的企业管理器)
写sql语句在笔试中是必考的内容,至少对于我参加过的笔试。
如下:
学生表:S,课程表:C,学生课程表:SC,学生可以选择修多门课程,一门课程可以被多个学生选修,通过SC表关联。
  A:写出建表语句:(操作数据库时,我都是在企业管理器中直接建标,所以遇到这题我有崩溃了)
B:写出SQL语句,查询选修了所有课程的学生:
c:写出SQL语句,查询选修了至少5门以上的课程学生:

2 个回复

倒序浏览
create table S
(
studentid varchar(20) primary key
studentname varchar(20) not null
)
把学号作为主键,其他字段必填的话就写not null
你就按这个格式来建表,通过主键学号这个字段,把S和C表关联起来。

第二题,查询选修了所有课程的学生,就相当于课程表的所有课程数量等于一个学号在sc表的数量,求出现的次数用count函数,要用到多表嵌套查询。大至语句是这样的:
select * from sc where (select count(*) from s where scid=studentid)=(select count(*) from c)

第三题写出SQL语句,查询选修了至少5门以上的课程学生
查询条件就是>=5
select * from s where (select count(*) from sc where scid=sid)>=5


回复 使用道具 举报
本帖最后由 朱志辉 于 2012-6-22 11:21 编辑

完整版的SQL Server帮助中心的本地帮助( 如果没有可能是没有装对应版本的MSDN 帮助)很详细、全面,可以搜索。这不是作弊。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马