欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库技术与应用复习资料(7页).doc

    • 资源ID:36343925       资源大小:32KB        全文页数:7页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库技术与应用复习资料(7页).doc

    -使用SQL语句创建数据表&数据操作Insert、Update、Delete1. 利用Transact-SQL语句创建表booksales的代码。USE test01GOCREATE TABLE booksales(book_id nchar(6) NOT NULL,sellnum int NOT NULL,selldate datetime NOT NULL) ON PRIMARY2. 利用insert语句为表booksales添加数据:INSERT INTO booksales VALUES ('m00011',7,20/12/2008)3. 利用update语句为表booksales更新数据:UPDATE booksales SET sellnum =11WHERE book_id ='m00011'4. 利用delete语句删除表booksales的数据:DELETE FROM booksales WHERE book_id ='m00011'Transact-SQL语句基础1 数据完整性1. 将teaching数据库中score表的studentno列设置为引用表student的外键。ALTER TABLE ScoreADD CONSTRAINT FK_score_student FOREIGN KEY (studentno)REFERENCES student(studentno)2. 将teaching数据库中class表的classname创建UNIQUE约束。ALTER TABLE classADD CONSTRAINT UQ_class UNIQUE(classname)执行如下插入语句,查看提示信息INSERT INTO class VALUES(090602, 计算机0902, 计算机学院, 马文斐)3. 为teaching数据库中student表的birthday列创建CHECK约束,规定学生的年龄在17-25岁之间。ALTER TABLE studentADD CONSTRAINT CK_birthday CHECK(YEAR(GETDATE()-YEAR(birthday) BETWEEN 17 AND 25执行如下插入语句,查看提示信息INSERT INTO student(studentno, sname, sex, birthday, classno)VALUES (0922221328, 张源, 男, 1983-04-05, 090501)提示:表达式YEAR(GETDATE()-YEAR(birthday)数据检索11)SELECT FROM 2)条件WHERE3)生成新表INTO4)比较运算符(数值类型、字符串、日期时间,YEAR())5)模糊查询LIKE6)逻辑运算符AND OR NOT7)检索一定范围的值BETWEEN AND 8)利用列表值检索 IN9)改变列名AS10)排序ORDER BY11)消除重复行 DISTINCT12)输出前n行TOP n TOP n PERCENT13)分组GROUP BY 筛选 HAVING14)聚合函数15)附加行汇总值COMPUTE16)多表连接INNER JOIN17)使用子查询1. 查询course表中所有的记录。SELECT * FROM course2. 查询student表中女生的人数。SELECT * FROM studentWHERE sex='女'3. 查询teacher表中每一位教授的教师号、姓名和专业名称。SELECT teacherno, tname, major FROM teacherWHERE prof='教授'4. 利用现有的表生成新表,新表中包括学号、课程号和总评成绩。其中:总评成绩=final*0.8+usually*0.2SELECT student.studentno, sname, courseno, final*0.8+usually*0.2 AS 总评成绩INTO zongpingFROM student,scoreWHERE student.studentno = score.studentnoGOSELECT * FROM zongping5. 查询student表中所有年龄大于20岁的男生的姓名和年龄。SELECT sname, Year(GetDate()-Year(birthday) AS ageFROM studentWHERE Year(GetDate()-Year(birthday)>20GO6. 查询计算机学院教师的专业名称。SELECT major AS 专业名称FROM teacherWHERE department='计算机学院'GO7. 查询Email使用126邮箱的所有学生的学号、姓名和电子邮箱地址。SELECT studentno,sname,EmailFROM studentWHERE Email Like '%'GO8. 查询score表中选修c05109或c05103课程,并且课程期末成绩在90100分之间的学号和期末成绩。SELECT * FROM scoreWHERE (courseno in('c05109','c05103') and (final between 90 and 100)9. 查询student表中所有学生的基本信息,查询结果按班级号classno升序排列,同一班级中的学生按入学成绩point降序排列。SELECT * FROM studentORDER BY classno ASC, point DESC10. 查询选修c05109课程,并且期末成绩在前5名的学生学号、课程号和期末成绩。(提示:TOP 5)SELECT TOP 5 studentno,courseno,finalFROM scoreWHERE courseno='c05109'ORDER BY final DESC数据检索2 Group by、Having、Compute by1. 按性别分组,求出student表中每组学生的平均年龄。SELECT sex,AVG(YEAR(GETDATE()-YEAR(birthday) AS ageFROM studentGROUP BY sex2. 查询各班学生的人数。SELECT classno, COUNT(*) AS 人数FROM studentGROUP BY classnoORDER BY classno3. 查询各课程期末成绩的最高分和最低分。SELECT courseno, MAX(final) AS 最高成绩, MIN(final) AS 最低成绩FROM scoreGROUP BY courseno4. 查询教两门及以上课程的教师编号、任课班级数。SELECT teacherno, COUNT(courseno) AS 班级数FROM teach_classGROUP BY teachernoHAVING COUNT(courseno) >=25. 查询课程编号以c05开头、被3名及以上学生选修且期末成绩的平均分高于75分的课程号、选修人数和期末成绩平均分,并按平均分降序排序。SELECT courseno,COUNT(studentno) AS 选修人数, AVG(final) AS 平均分FROM scoreWHERE courseno LIKE 'c05%' AND final IS NOT NULLGROUP BY coursenoHAVING COUNT(studentno)>=3 AND AVG(final)>=75ORDER BY AVG(final) DESCSQL语句的高级应用1 内连接、外连接1. 查询所有班级的期末成绩平均分,并按照平均分降序排列。表:score,student 2joinSELECT classno,AVG(final) AS 班级平均分FROM student INNER JOIN score ON student.studentno=score.studentnoWHERE final IS NOT NULLGROUP BY classnoORDER BY AVG(final) DESC2. 查询两门及以上课程的期末成绩超过80分的学生的姓名及其平均成绩。表:student,scoreSELECT student.studentno,sname,AVG(final) AS 平均分FROM student JOIN score ON student.studentno=score.studentnoWHERE final IS NOT NULL and final >=80GROUP BY student.studentno,snameHAVING COUNT(*)>=2SQL语句的高级应用2 使用子查询3. 查询入学考试成绩最高的学生的学号、姓名和入学成绩。=SELECT studentno,sname,pointFROM studentWHERE point = (SELECT MAX(point) FROM student)4. 查询所有教授c05127号课程的教师信息。InSELECT * FROM teacherWHERE teacherno IN (SELECT teacherno FROM teach_class WHERE courseno='c05127')视图与索引使用SQL语言1. 创建一个视图v_teacher,查询所有“计算机学院”的教师信息, 添加WITH CHECK OPTION选项。CREATE VIEW v_teacherASSELECT * FROM teacherWHERE department='计算机学院'WITH CHECK OPTIONGOSELECT * FROM v_teacher2. 创建一个视图v_avgstu,查询每个学生的学号、姓名及平均分,并且按照平均分降序排列。CREATE VIEW v_avgstuASSELECT TOP 100 student.studentno,sname,avg(final) AS '平均分'FROM student JOIN scoreON student.studentno=score.studentnoGROUP BY student.studentno,snameORDER BY avg(final)GOSELECT * FROM v_avgstu3. 通过视图v_teacher向基表teacher中分别插入数据(05039, 张馨月,计算机应用,讲师,计算机学院)和(06018, 李诚,机械制造,副教授,机械学院),并查看插入数据情况。INSERT INTO v_teacher VALUES ('05039', '张馨月','计算机应用','讲师','计算机学院')GOSELECT * FROM teacher试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了WITH CHECK OPTION,而该操作的一个或多个结果行又不符合CHECK OPTION 约束。语句已终止。4. 通过视图v_teacher将基表teacher中教师编号为05039的教师职称修改为”副教授”。UPDATE v_teacherSET prof='副教授'WHERE teacherno='05039'GOSELECT * FROM teacher-第 7 页-

    注意事项

    本文(数据库技术与应用复习资料(7页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开