




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验实习名SQL 语言 SQL 语言的简单查询、连接查询指导教师考核成绩课程名称数据库原理课程编号实验实习地点完成日期学生姓名学生学号学院专业所在班级教师评语教师签名: 年 月 日(以下为参考内容,具体内容要求由课程在实验实习指导书中规定。)一、 实验实习目的及要求(一)、实验目的 数据查询语言指对数据库中的数据查询、统计、分组、排序等操作。查询语 句可以分为简单查询、连接查询本次实验了解 SQL 语言的 SELECT 语句对数据的查询,学会在 Navicat for MySQL 中用 SELECT 语句对表中的数据进行简单查询、连接查询。二、实验要求 1、实验前:预习实验内容,学习相关知识。2、实验中:按照实验内容要求进行实验,实验时注意每种 SQL 语句的基本命令 及各个关键字的含义,做好实验记录。3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。 4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向 教师或同学请教。5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次 实验前交实验报告。 二、实验实习设备(环境)及要求(软硬件条件) 硬件:已联网的笔记本一台 软件:Navicat for MySQL三、实验实习内容与步骤 (一).实验内容 1.启动 Navicat for MySQL,用 SELECT 语句对表进行简单查询操作,整个 查询过程只涉及到一个表,是最基本的查询语句。语法格式如下: Select From Where Group by Having Order by , n 2.用 SELECT 语句对表进行连接查询操作,连接查询涉及被连接和连接两个 表,所以数据源一般为多个表。用来连接两个表的条件称为连接条件,一般格式 为: . . 其中比较运算符主要有:=、=、=、!=。 (二).实验步骤 执行以下内容: 1.启动 Navicat for MySQL,在 MySQL 新建连接中完成连接参数配置。 2.登录到本地数据库服务器后,连接到 test 数据库上。 3.用 Create Table 建立 Student 表,表结构如下所示:属性名类型长度SNOVarchar20NameVarchar10AgeIntegerCollegeVarchar304.用 Create Table 建立 Course 表,表结构如下所示:字段名类型长度CourseIDVarchar15CourseNameVarchar30CourseBeforeIDVarchar155.用 Create Table 建立 Choose 表,表结构如下所示:字段名类型长度SNOVarchar20CourseIDVarchar30ScoreDECIMAL5,26.用 INSERT 语句向 Student 表中插入 3 个元组:SNONameAgeCollegeS00001张三20计算机学院S00002李四19通信学院S00003王五21计算机学院7.用 INSERT 语句向 Course 表中插入 3 个元组:CourseIDCourseNameCourseBeforeIDC1计算机引论空值(NULL)C2C 语言C1C3数据结构C2 8.用 INSERT 语句向 Choose 表中插入 7 个元组 SNOCourseIDScoreS00001C195S00001C280S00001C384S00002C180S00002C285S00003C178S00003C370 9.用 SELECT 语句,查询计算机学院学生的学号和姓名关系代数及代码: 10.用 SELECT 语句的 betweenand表示查询条件,查询年龄在 2023 岁的学 生信息。 11.用 SELECT 语句的 COUNT()聚集函数,统计 Student 表中学生总人数。 12.分别用 SELECT 语句的 max()、min()、sum()、avg()四个聚集函数,计算 Choose 表中 C1 课程的最高分、最低分、总分、平均分。 13.用 SELECT 语句对空值(NULL)的判断条件,查询 Course 表中先修课称编号为 空值的课程编号和课程名称。 14.用 SELECT 语句的连接查询,查询学生的学号、姓名、选修的课程名及成绩四、实验实习过程或算法(源程序、代码) 1. 用 Create Table 建立 Student 表代码:CREATE TABLE Student( SNO VARCHAR(10), Name Varchar (10), Age INTEGER , College VARCHAR(30); 2. 用 Create Table 建立 Course 表代码 CREATE TABLE Course( CourseID VARCHAR(15), CourseName VARCHAR(30) , CourseBeforeID Varchar (15); 3. .用 Create Table 建立 Choose代码CREATE TABLE Choose( SNO VARCHAR(20), CourseID VARCHAR(30), Score DECIMAL (5,2); 4.用 INSERT 语句向 Student 表中插入 3 个元组代码INSERT INTO student (SNO,Name,Age,College) VALUES (S00001,张三,20,计算机学院);INSERT INTO student (SNO,Name,Age,College) VALUES (S00002,李四,19,通信学院);INSERT INTO student (SNO,Name,Age,College) VALUES (S00003,王五,21,计算机学院); 5 .用 INSERT 语句向 Course 表中插入 3 个元组代码INSERT INTO course (CourseID,CourseName,CourseBeforeID) VALUES (C1,计算机引论,NULL);INSERT INTO course (CourseID,CourseName,CourseBeforeID) VALUES (C2,C语言,C1);INSERT INTO course (CourseID,CourseName,CourseBeforeID) VALUES (C3,数据结构,C2); 6.用 INSERT 语句向 Choose 表中插入 7 个元组代码INSERT INTO choose (SNO,CourseID,Score) VALUES (S00001,C1,95);INSERT INTO choose (SNO,CourseID,Score) VALUES (S00001,C2,80);INSERT INTO choose (SNO,CourseID,Score) VALUES (S00001,C3,84);INSERT INTO choose (SNO,CourseID,Score) VALUES (S00002,C1,80);INSERT INTO choose (SNO,CourseID,Score) VALUES (S00002,C2,85);INSERT INTO choose (SNO,CourseID,Score) VALUES (S00003,C1,78);INSERT INTO choose (SNO,CourseID,Score) VALUES (S00003,C3,70); 7. 用 SELECT 语句,查询计算机学院学生的学号和姓名关系代数及代码 代码:SELECT * FROM student WHERE (College = 计算机学院);8.用 SELECT 语句的 betweenand表示查询条件,查询年龄在 2023 岁的学 生信息代码及关系代数 代码:SELECT Name FROM Student where Age BETWEEN 20 AND 23;运行结果: 9用 SELECT 语句的 COUNT()聚集函数,统计 Student 表中学生总人数代码及运行结果 代码:SELECT COUNT(*) FROM Student;运行结果: 10. 分别用 SELECT 语句的 max()、min()、sum()、avg()四个聚集函数,计算 Choose 表中 C1 课程的最高分、最低分、总分、平均分。 代码及运行结果 代码:SELECT MAX(Score) FROM choose WHERE(CourseID=C1);SELECT MIN(Score) FROM choose WHERE(CourseID=C1);SELECT SUM(Score) FROM choose WHERE(CourseID=C1);SELECT AVG(Score) FROM choose WHERE(CourseID=C1); 运行结果: 11. 用 SELECT 语句对空值(NULL)的判断条件,查询 Course 表中先修课称编号为 空值的课程编号和课程名称代码及运行结果: 代码:select * from course where CourseBeforeID is null ;运行结果: 12 .用 SELECT 语句的连接查询,查询学生的学号、姓名、选修的课程名及成绩关系代数代码及运行结果 关系代数: 代码:SELECT DISTINCT student.SNO,student.Name,course.CourseID,choose.Score FROMstudent,course,choose WHERE student.SNO=choose.SNO AND choose.CourseID=course.CourseID;运行结果:五、实验实习结果分析和(或)源程序调试过程思考题:(1) . Where 与 Having 语句有何差别? WHERE语句在GROUP BY语句之前;SQL会在分组之前计算WHERE语句。 HAVING语句在GROUP BY语句之后;SQL会在分组之后计算HAVING语句。Where和having其实后面都是跟条件。区别在于它们后面的条件里如果有count之类的聚合函数的时候只能使用having而不能使用where。(2) . Count(*)与 Count(字段名)有何差别? count(*)统计的是结果集的总条数,即能计算一个表中的元组个数,包括重复项;count(字段名)统计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高血压病人的饮食与护理
- 公司电工安全培训课件
- 了不起的0课件
- 《童年的发现》课件
- 颅脑损伤早期康复护理
- 公司水电安全培训课件
- 2025年标准安置房买卖合同范本
- 2025综合设备租赁合同书
- 透平式空压机启动讲解
- 月经期的个人护理
- 2024年无锡工艺职业技术学院公开招聘辅导员笔试题含答案
- 2025年度哈尔滨市平房区纪委监委公开招聘雇员2人考试参考题库及答案解析
- 2025年江西省高考化学试卷真题(含答案)
- 海上作业安全培训教学课件
- 2025年ARVR行业研究报告及未来行业发展趋势预测
- 情绪管理课2025年职场压力释放与心灵成长分析报告
- 交管12123驾驶证学法减分考试题库和答案
- 2025年本科院校团委笔试备考资料
- 环保废气基础知识培训课件
- 2025年成都市中考物理真题(含答案)
- 第8课《回忆鲁迅先生》课件+++2025-2026学年统编版语文八年级上册
评论
0/150
提交评论