06第五章数据库技术.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.4 SQL语言 SQL语言是结构化查询语言,通过简单的语法,能够对数据库进行非常灵活的操作。 SQL语言只是一个标准,各个数据库厂商在实现它的时候,或多或少的会有些不同,大型数据库(如Oracle)都会增加一些自己的“方言”。 1、SQL语言的功能与特点 一体化 两种使用方式(联机交互、嵌入到编程语言中),统一的语法结构 高度非过程化 语言简洁、易学易用 2、SQL的数据类型 定长字符串:CHAR 变长字符串:VARCHAR 整型:INTEGER 浮点型:DOUBLE 日期型:DATE 3、SQL的语句结构 动词开始,有结束符 4、SQL的命令分类 查询 数据操纵(增、删、改) 数据定义(建立表、视图、索引) 数据控制(授权) 5.4.2 数据库的定义 创建表、视图、索引 修改表,视图 5.4.3 数据查询 例5.13 查询所有学生的详细资料 例5.14 查询学生的学号和姓名 例5.15 查询学生的年龄 例5.16 在学生表查询结果中增加一列,字 段名为“状态”,值为“在校生” 练习:教师职工号,教师姓名,职称 利用where子句对结果进行筛选 例 5.17 找出所有男学生 例 5.18 找出年龄在21~23岁之间的学生 例 5.19 找出21岁和23岁的学生 IN OR 补充:在stu_info表中查找所有姓王的同学 例5.20 在stu_info表中查找“火车终点站”信 息为空的学生 练习:在stu_info表中查找来自于“机电“类 院校,火车终点站不为空, 的男同学,的信息 使用子查询 5.21 用IN 子句查询有不及格成绩的学生 5.22 用exists子句查询有不及格成绩的学生 练习:用in 或 exist 查询 “拥有超过130人的专业的院系” 例5.24 左连接 left join on 连接条件 在student表和course表中,查询“电气工程及其自动化s”中专业选了《软件技术基础》这门课程的学生信息 例5.23 自连接 在表stu_info中查询交谊舞分组情况,查询结果如下 聚集函数 对多行数据进行运算的一类函数。使用聚集函数时都要对数据进行分组,对每组进行聚集。在查询结果中,只能包含分组字段和聚集函数字段。 使用 group by 子句进行分组 使用 having子句对聚集结果进行筛选 SUM AVG MIN MAX COUNT 例5.25 在zhuanye表中统计我校2011级共有多少个专业 例5.30 在stu_info表中统计男生和女生各有多少人 练习:在stu_info表中统计每个班男生、女生各有多少人 提示:left(字段名,长度)可以对某字段的内容进行截取 在student表中查询2011级电气工程及其自动化s专业的学生每个人选了多少门课 在student表中查询2011级电气工程及其自动化s专业的学生中选了17门课的学生学号和姓名 综合练习 1、查询“01”课程比“02”课程成绩高的学生的信息及课程分数 我们给出的答案并不完美,对于没学过02课程的学生,查不出来 2、查询平均成绩大于等于60分的学生编号和学生姓名和平均成绩 3、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩 将null处理为0 isnull(score,0) ifnull(score,0) 4、查询学过“张三”老师授课的学生的信息 5、查询没学过张三老师授课的同学的信息 6、查询学过编号为“01”并且也学过编号为“02”的课程的同学的信息 思路1:先查询出学过01课程的学号,再拿这些学号去sc表中查询,看看是否存在学过02课的记录 思路2:查找学过01课或者学过02课的学生信息,然后根据学号分组,若某学号下记录数为2条,则该生是既学过01也学过02 7、查询没有学全所有课程的学生的信息 思路:先查询课程表,看看一共有多少门课。然后查询选课表,凡是数量少于总数的,即没有学全 8、查询至少有一门课与学号为“01”的同学所学相同的同学的信息 思路:先看看01学生都选了哪些课,然后其他同学所学的课程中,如果课程代码位于上述集合中,则显示出来。注意去除重复记录 9、查询和“01”号的同学学习

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档