黑马程序员技术交流社区

标题: 数据库基础知识 [打印本页]

作者: 周星星    时间: 2012-6-19 10:41
标题: 数据库基础知识
操作数据库时一定要自己写,最好不要偷懒(用sql server中的企业管理器)
写sql语句在笔试中是必考的内容,至少对于我参加过的笔试。
如下:
学生表:S,课程表:C,学生课程表:SC,学生可以选择修多门课程,一门课程可以被多个学生选修,通过SC表关联。
  A:写出建表语句:(操作数据库时,我都是在企业管理器中直接建标,所以遇到这题我有崩溃了)
B:写出SQL语句,查询选修了所有课程的学生:
c:写出SQL语句,查询选修了至少5门以上的课程学生:
作者: 余清兰    时间: 2012-6-19 11:55
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-20 22:22
本帖最后由 朱志辉 于 2012-6-22 11:21 编辑

完整版的SQL Server帮助中心的本地帮助( 如果没有可能是没有装对应版本的MSDN 帮助)很详细、全面,可以搜索。这不是作弊。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2