数据库实验报告

合集下载

《数据库系统原理及应用》实验报告 实验一 数据库定义

《数据库系统原理及应用》实验报告 实验一 数据库定义

《数据库系统原理及应用》实验报告实验一数据库定义数据库系统原理及应用实验一数据库定义在《数据库系统原理及应用》课程中,实验一是关于数据库定义的实验。

本次实验的主要目的是通过实践操作,掌握数据库的定义过程,了解数据库的基本概念和术语,并学习使用SQL语言创建数据库表格和定义表格的各项属性。

1. 数据库的定义意义数据库是指存储数据的集合,它是一个有组织的数据集合,可以提供查询、存储和管理数据的功能。

数据库的定义是建立数据库的结构和特性,包括数据表的定义、数据类型的定义以及数据表之间的关系定义。

数据库的定义可以规范化和统一数据存储结构,提高数据的存储效率和管理方便性。

2. 数据库的基本概念和术语在数据库的定义过程中,需要了解一些基本概念和术语:(1) 数据表:数据表是数据库的一个基本单位,它由多个数据行和数据列组成,用于存储和表示数据。

(2) 数据类型:数据类型定义了数据的存储格式和表达方式,常见的数据类型有整数、浮点数、字符型、布尔型等。

(3) 主键:主键是数据表中的一列或者一组列,其值用来唯一标识数据表中的每一行,主键的值不能重复。

(4) 外键:外键是数据表之间的关系表达,它是一个指向其他数据表主键的列,用于建立数据表之间的联系。

(5) 索引:索引是一种提高数据检索效率的数据结构,它可以加快数据的查询速度。

3. 使用SQL语言创建数据库表格在实验过程中,我们将使用SQL语言来创建数据库表格。

SQL(Structured Query Language)是结构化查询语言的缩写,是一种用于操作和管理数据库的标准语言。

SQL语言的创建表格语句包括以下几个关键字和语法:(1) CREATE TABLE:用于创建数据库表格。

(2) 表名:指定创建的表格的名称。

(3) 列名和数据类型:指定表格中的各列名称和数据类型。

(4) 主键:指定表格中的主键。

(5) 外键:指定表格中的外键。

4. 定义表格的各项属性在使用SQL语言创建数据库表格时,我们需要定义表格的各项属性,包括表格的名称、列名、数据类型、主键和外键。

数据库技术与应用实验报告

数据库技术与应用实验报告

数据库技术与应用实验报告一、实验目的本次实验的主要目的是深入了解数据库技术的基本原理和应用,通过实际操作掌握数据库的创建、管理、数据操作以及查询优化等方面的技能。

同时,培养解决实际问题的能力,提高对数据库系统的综合运用水平。

二、实验环境本次实验使用的软件环境为 MySQL 数据库管理系统,操作系统为Windows 10。

三、实验内容与步骤(一)数据库创建1、打开 MySQL 客户端,使用以下命令创建数据库:```sqlCREATE DATABASE database_name;```其中,`database_name` 为自定义的数据库名称。

2、使用以下命令选择创建的数据库:```sqlUSE database_name;```(二)表的创建1、根据实验要求,设计表结构,包括字段名、数据类型、约束条件等。

例如,创建一个名为`students` 的表,包含`id`(整数类型,主键)、`name`(字符串类型)、`age`(整数类型)字段,使用以下命令:```sqlCREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT);```(三)数据插入1、使用`INSERT INTO` 语句向表中插入数据。

例如,向`students` 表中插入一条记录:```sqlINSERT INTO students (id, name, age) VALUES (1, '张三', 20);```(四)数据查询1、使用`SELECT` 语句进行简单查询,获取表中的数据。

例如,查询`students` 表中所有记录:```sqlSELECT FROM students;```2、使用条件查询,获取符合特定条件的数据。

例如,查询年龄大于 18 岁的学生记录:```sqlSELECT FROM students WHERE age > 18;```(五)数据更新1、使用`UPDATE` 语句更新表中的数据。

数据库实验报告

数据库实验报告

实验(一): 熟练掌握SQL语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。

实验内容:具体包括如下三部分。

一、熟悉上机环境。

客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。

具体包括:1.了解SQL Server 环境。

鼠标点击开始,进入“Microsoft SQL Server→企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。

点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。

因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。

2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名和口令,进入SQL查询分析器。

如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。

3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。

二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。

1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式CREA TE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREA TE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREA TE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );4在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。

数据库系统实验课实验报告

数据库系统实验课实验报告

数据库系统实验课实验报告一、实验目的数据库系统实验课是一门重要的实践课程,旨在通过实际操作和实验,深入理解数据库系统的原理和应用,提高我们的数据库设计、管理和应用开发能力。

本次实验的具体目的包括:1、熟悉数据库管理系统(DBMS)的操作环境和基本命令。

2、掌握数据库的创建、表的设计、数据的插入、查询、更新和删除等基本操作。

3、学会使用 SQL 语句进行复杂的数据查询和数据处理。

4、理解数据库的完整性约束、索引和存储过程的概念及应用。

5、培养解决实际数据库问题的能力和团队协作精神。

二、实验环境本次实验使用的数据库管理系统是 MySQL 80,实验在 Windows 10 操作系统上进行。

使用的开发工具包括 MySQL Workbench 和命令行终端。

三、实验内容1、数据库的创建使用 CREATE DATABASE 语句创建了一个名为“student_management”的数据库,用于存储学生管理相关的数据。

2、表的设计在“student_management”数据库中,设计了以下几张表:“students”表,包含学生的学号(student_id)、姓名(student_name)、性别(gender)、年龄(age)等字段。

“courses”表,包含课程的课程号(course_id)、课程名称(course_name)、学分(credit)等字段。

“enrolls”表,用于记录学生选课的信息,包含学号(student_id)、课程号(course_id)、成绩(grade)等字段。

在设计表时,为每个字段选择了合适的数据类型,并设置了主键和外键约束,以保证数据的完整性和一致性。

3、数据的插入使用 INSERT INTO 语句向“students”、“courses”和“enrolls”表中插入了一些示例数据,以便进行后续的查询和操作。

4、数据的查询使用简单的 SELECT 语句查询了“students”表中的所有学生信息。

数据库管理系统实验报告doc

数据库管理系统实验报告doc

数据库管理系统实验报告篇一:数据库_图书馆管理系统实验报告数据库课程设计报告专业:计算机科学与技术班级: 03 组长:张云60 组员:王冉28指导教师:袁道华成绩:XX年12月16日一、课程设计概述1. 课程设计背景课程需要开发一个图书管理系统,要求在读者登记处可以将读者的信息添加,信息系统中保存,当读者信息发生变化,对计算机内容进行修改,当读者办理退卡手续要删除此读者信息,图书管理负责图书和出版社的管理,读书借还处进行借书管理,还书管理,库存查询,图书排行榜,生成超期未还书的读者,进行通知.给不同用户设置不同权限,供用户访问数据库。

2. 编写目的熟练掌握mysql中的创建数据库、创建表、显示、查询、select语句、视图、存储过程、创建检索、对表的添加、删除、修改和用户权限的设置等基本运用,并通过编写这个图书管理系统来实际演练。

3. 软件定义Mysql是目前最流行的开源的中小型关系数据管理系统,目前被广泛的应用于internet上得中小型网站中,它由mysql AB公司开发、发布并支持。

本实验用的是mysql 5.1版本4. 开发环境本实验用的是mysql 5.1版本,windowsXX二、需求分析1. 问题的提出1:怎么通过mysql和信息之间的关系来创建图书管理系统的数据库及表? 2:怎样来实现对插入读者信息并保存、修改及删除? 3:怎么来实现对图书的管理?4:怎样实现对借书后在读书借还处添加读者借书信息和还书后删除读者借还处中的借书信息且更新图书管理处的图书数量?5:怎么实现对超期读者进行罚款操作和生成这些读者的名单,以方便通知? 6:怎样实现图书的借书排行榜和查看库存书量?7:怎么样来根据不同用户对数据库的等级的不同来设置这些用户的权限?2. 需要完成的功能及各部分功能概述1:读者登记建卡处的功能是对读者基本信息进行登记,读者信息发生变化对读者基本信息进行修改,读者要求退还借书卡时对读者信息进行删除等操作。

数据库的设计实验报告

数据库的设计实验报告

一、实验目的1. 理解数据库设计的概念、过程和步骤。

2. 掌握数据库概念结构、逻辑结构和物理结构的设计方法。

3. 能够运用E-R图进行数据库概念结构设计。

4. 能够运用SQL语句进行数据库逻辑结构和物理结构设计。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库概念结构设计2. 数据库逻辑结构设计3. 数据库物理结构设计四、实验步骤1. 数据库概念结构设计(1)分析需求,确定实体和属性以“图书管理系统”为例,确定实体和属性如下:实体:图书、读者、借阅信息属性:- 图书:书名、作者、出版社、ISBN、出版日期、分类号、库存数量- 读者:读者编号、姓名、性别、出生日期、联系电话、邮箱、住址- 借阅信息:借阅编号、图书编号、读者编号、借阅日期、归还日期、状态(2)绘制E-R图根据实体和属性,绘制E-R图如下:```图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态) ```2. 数据库逻辑结构设计(1)确定关系模式根据E-R图,确定关系模式如下:- 图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)- 读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)- 借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态)(2)编写SQL语句创建表```sqlCREATE TABLE 图书 (书名 VARCHAR(100),作者 VARCHAR(50),出版社 VARCHAR(50),ISBN VARCHAR(20),出版日期 DATE,分类号 VARCHAR(10),库存数量 INT);CREATE TABLE 读者 (读者编号 VARCHAR(10),姓名 VARCHAR(50),性别 CHAR(1),出生日期 DATE,联系电话 VARCHAR(20),邮箱 VARCHAR(50),住址 VARCHAR(100));CREATE TABLE 借阅信息 (借阅编号 VARCHAR(10),图书编号 VARCHAR(10),读者编号 VARCHAR(10),借阅日期 DATE,归还日期 DATE,状态 VARCHAR(10));```3. 数据库物理结构设计(1)确定索引根据需求,确定索引如下:- 图书表:ISBN、分类号- 读者表:读者编号- 借阅信息表:借阅编号、图书编号、读者编号(2)编写SQL语句创建索引```sqlCREATE INDEX idx_isbn ON 图书(ISBN);CREATE INDEX idx_分类号 ON 图书(分类号);CREATE INDEX idx_读者编号 ON 读者(读者编号);CREATE INDEX idx_借阅编号 ON 借阅信息(借阅编号);CREATE INDEX idx_图书编号 ON 借阅信息(图书编号);CREATE INDEX idx_读者编号 ON 借阅信息(读者编号);```五、实验结果与分析1. 通过实验,掌握了数据库设计的概念、过程和步骤。

数据库常用对象实验报告

数据库常用对象实验报告

一、实验目的1. 理解数据库的基本概念和常用对象。

2. 掌握数据库的创建、修改和删除操作。

3. 熟悉数据库中表、视图、索引、存储过程等对象的创建和使用。

4. 培养实际操作数据库的能力,提高数据库应用水平。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库的基本操作2. 表的创建、修改和删除3. 视图的创建和使用4. 索引的创建和使用5. 存储过程的创建和使用四、实验步骤1. 数据库的基本操作(1)创建数据库打开MySQL Workbench,连接到本地MySQL服务器。

在“对象浏览器”中,右键点击“数据库”,选择“创建数据库”。

在弹出的对话框中,输入数据库名称(如:test_db),点击“创建”按钮。

(2)删除数据库在“对象浏览器”中,右键点击要删除的数据库,选择“删除数据库”。

在弹出的对话框中,点击“确定”按钮。

2. 表的创建、修改和删除(1)创建表在“对象浏览器”中,右键点击“表”,选择“创建表”。

在弹出的对话框中,输入表名(如:students),然后定义表中的列和类型。

例如:```id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT NOT NULL,class VARCHAR(50) NOT NULL```点击“保存”按钮,创建成功。

(2)修改表在“对象浏览器”中,右键点击要修改的表,选择“修改表”。

在弹出的对话框中,可以对表中的列进行添加、删除、修改等操作。

(3)删除表在“对象浏览器”中,右键点击要删除的表,选择“删除表”。

在弹出的对话框中,点击“确定”按钮。

3. 视图的创建和使用(1)创建视图在“对象浏览器”中,右键点击“视图”,选择“创建视图”。

在弹出的对话框中,输入视图名称(如:view_students),然后编写SQL查询语句。

(完整版)数据库实验报告

(完整版)数据库实验报告

数据库实验报告姓名学号目录一.实验标题:2二.实验目的:2三.实验内容:2四.上机软件:3五.实验步骤:3(一)SQL Server 2016简介3(二)创建数据库 4(三)创建数据库表 7(四)添加数据17六.分析与讨论: 19一.实验标题:创建数据库和数据表二.实验目的:1.理解数据库、数据表、约束等相关概念;2.掌握创建数据库的T-SQL命令;3.掌握创建和修改数据表的T-SQL命令;4.掌握创建数据表中约束的T-SQL命令和方法;5.掌握向数据表中添加数据的T-SQL命令和方法三.实验内容:1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹;2.在SQL Server Management Studio中,使用create database命令建立“学生-选课”数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义;3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度;4.添加具体数据;四.上机软件:SQL Server 2016五.实验步骤:(一)SQL Server 2016简介1.SQL Server 2016的界面2.启动和退出SQL Server 20161)双击图标,即出现SQL Server2016的初始界2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“×”即可注意事项:1.在退出SQL Server 2016之前,应先将已经打开的数据库进行保存,2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作(二)创建数据库方法一:1.点击“新建查询”,出现如下对话框2.在空白区域输入创建数据库“学生选课”的代码命令,点击“执行”3.消息框中出现“命令已成功完成”即表示数据库创建成功,在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”方法二:1.右击数据库,在弹出的快捷菜单中选择“新建”2.在弹出的对话框中输入“学生选课”3. 在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”注意事项:数据库名称在服务器中必须唯一,并且符合标识符的规则(三)创建数据库表1.左键点击“学生选课”数据库,再点击“新建查询”,在出现的空白对话框中输入如图代码后点击“执行”,消息框中出现“命令已成功执行”即成功建立好学生、课程、选课三张表2.建立成功后的表格如图所示注意事项:1.T-SQL中创建数据库表的指令格式为:Create table 表名(字段名1 数据类型{identify | not null | null},字段名2 数据类型{identify | not null | null},……)null表示该字段的值可以为控制,空值意味着没有任何存储数据,这是默认参数,当所定义的字段允许空值时,参数null可以忽略not null表示该字段的值不能为空值identify称为计数器,表示该字段的值是一组递增的证书数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验内容与要求请有选择地实践以下各题。

(1)基于“教学管理”数据库 jxgl,使用SQL的查询语句表达下列查询:①检索年龄大于23岁的男学生的学号和姓名;SELECT Sn o,S nameFROM Stude ntWHERE Ssex=男’ANDSage>23;②检索至少选修一门课程的女生姓名;SELECT Sn ameFROM Stude ntWHERE Ssex=女’AND Sno IN( SELECT SnoFROM SCGROUP BY SnoHAVING cou nt(*)>=1;);③检索王同学不学的课程的课程号;SELECT Cno;FROM CourseWHERE Cno NOT IN( SELECT CnoFROM Stude nt,SCWHERE Sname like '王 % AND Student.Sno=SC.Sno );④检索至少选修两门课程的学生学号;SELECT DISTINCT SnoFROM SCGROUP BY SnoHAVING cou nt(*)>=2;⑤检索全部学生都选修的课程的课程号与课程名;SELECT Cn o,C nameFROM CourseWHERE NOT EXISTS( SELECT *FROM Stude ntWHERE NOT EXISTS( SELECT *FROM SCWHERE SC.S no=Stude nt.S no AND SC.C no=Course.C no));⑥检索选修了所有 3学分课程的学生学号;SELECT DISTINCT SnoFROM SC XWHERE NOT EXISTS( SELECT *FROM CourseWHERE Ccredit=3 AND NOT EXISTS( SELECT *FROM SC YWHERE X.S no=Y.S no AND Course.C no=Y.C no));(2)基于“教学管理”数据库 jxgl,使用SQL的查询语句表达下列查询:①统计有学生选修的课程门数;SELECT coun t(DISTINCT Cno)FROM SC;②求选修4号课程的学生的平均年龄;SELECT AVG(Sage)FROM Stude nt,SCWHERE Cn o=4 AND Stude nt.S no=SC.S no;③求学分为3的每门课程的学生平均成绩;SELECT AVG(Grade)FROM Course,SCWHERE Ccredit=3 AND Course.C no=SC.C noGROUP BY SC.C no;④统计每门课程的学生选修人数,要求超过3人的课程才统计,要求输出课程号和选修人数查询结果按人数降序排列,若人数相同,按课程号升序排列;SELECT Cn o,cou nt(S no)FROM SCGROUP BY CnoHAVING cou nt(S no )>3ORDER BY cou nt(S no) DESC,C no ASC;⑤检索学号比“王菲”同学大而年龄比他小的学生姓名;SELECT Sn ameFROM Stude nt XWHERE Sno>( SELECT SnoFROM Stude nt YWHERE Sn am6=王菲'AND Sage>( SELECT SageFROM Stude nt ZWHERE Sn amd=王菲'AND X.S no=Z.S no AND Y.S no=Z.S no ) );⑥检索姓名以“王”打头的所有学生的姓名和年龄;SELECT Sn ame,SageFROM Stude ntWHERE Sname LIKE '王 % ;⑦在SC中检索成绩为空置的学生学号和课程号;SELECT Sn o,C noFROM SCWHERE Grade is NULL;⑧求年龄大于女同学平均年龄的男学生姓名和年龄;SELECT Sn ame,SageFROM Stude nt XWHERE Ssex=男’AND Sage>( SELECT AVG(Sage) FROM Stude ntWHERE Ssex=女’AND X.S no=Y.S no);⑨求年龄大于所有女同学年龄的男同学姓名和年龄;SELECT Sn ame,SageFROM Stude nt XWHERE Ssex=男’AND Sage>( SELECT MAX(Sage) FROM Stude nt YWHERE Ssex=女’AND X.S no=Y.S no);⑩检索所有比“王华”年龄大的学生姓名,年龄和性别;SELECT Sn ame,Sage,SsexFROM Stude nt XWHERE Sage>( SELECT SageFROM Stude nt YWHERE Sn am6=王华'AND X.S no=Y.S no);①检索选修“ 2”课程的学生中成绩最高的学生和学号;SELECT Sn ame,SC.S noFROM Stude nt,SCWHERE Cn o=2 AND Stude nt.S no=SC.S no;②检索学生姓名和其所选修课程的课程号和成绩;SELECT Sn ame,C no,GradeFROM Stude nt,SCWHERE Stude nt.S no=SC.S noGROUP BY Sn ame;③检索选修4门以上课程的学生总成绩(不统计不及格的课程) 列出来;,并要求按总成绩的降序排SELECT Sn o,SUM(Grade)FROM SC XWHERE Grade>=60 AND Sno IN( SELECT SnoFROM SC YWHERE X.S no=Y.S noGROUP BY SnoHAVING cou nt(C no )>4)' ORDER BY SUM(Grade) DESC;(3)设有表4-1~表4-4的4个基本表(表结构于表内容是假设的) 据表内容创建表结构,并添加表记录,写出实现以下各题功能的创建以下4各表:CREATE TABLE STUDENT(SNO CHAR(6) PRIMARY KEY,SNAME CHAR(20) UNIQUE,SEX CHAR(2),AGE SMALLINT,CLASS CHAR(4));CREATE TABLE TEACHER(TNO CHAR(3) PRIMARY KET,TNAMW CHAR(20) UNIQUE,SEX CHAR(2),AGE SMALLINT,PROF CHAR(10),DEPT CHAR(10));CREATE TABLE COURSE(CNO CHAR(4) PRIMARY KEY,CNAME CHAR(20) UNIQUE,TNO CHAT(3),FOREIGN KEY TNO REFERENCES TEACHER(TNO));CREATE TABLE SC(SNO CHAR(6),CNO CHAR(4),GRADE SMALLINT,,请先创建数据库及根SQL语句:PRIMARY KEY(SNO,CNO),FOREIGN KEY SNO REFERENCES STUDENT(SNO),FOREIGN KEY CNO REFERENCES COURSE(CNO) );插入数据:INSERT INTO STUDENTVALUES('980101','李华',’男',19,' 9801');同上方法依次插入数据①查询选修课程“ 8105”且成绩在80到90之间的所有记录;SELECT *FROM SCWHERE CNO=8105' AND GRADE BETWEEN 80 AND 90;②查询成绩为79,89或99的记录;SELECT *FROM SCWHERE GRADE IN(79,89,99);③查询“ 9803”班的学生人数;SELECT coun t(SNO)FROM STUDENTWHERE SNO LIKE '9803% ;④查询至少有20名学生选修的并且课程号以8开头的课程及平均成绩;SELECT CNO,AVG(GRADE)FROM SCWHERE CNO LIKE ' 8%GROUP BY CNO;HAVING coun t(SNO)>=20;⑤查询最低分大于 80,最高分小于95的SNO W平均分;SELECT SNO,AVG(GRADE)FROM SCGROUP BY SNOHAVING MIN(GRADE)>80 AND MAX(GRADE)<95;⑥查询“ 9803”班的学生所选各课程的课程号及平均成绩;SELECT CNO,AVG(GRADE)FROM SCWHERE SNO LIKE ' 9803'GROUP BY CNO;⑦查询选修“ 8105”课程的成绩高于“ 980302”号同学成绩的所有同学的记录;SELECT *FROM SC XWHERE CNO=8105' AND GRATE>(SELECT GRATEFROM SC YWHERE CNO=8105' AND SNO= 980302' AND X.SNO=Y.SNO);⑧查询与学号为“ 980103”的同学同岁的所有学生的SNO,SNAM和 AGESELECT SNO,SNAME,AGEFROM STUDENT XWHERE AGE=(SELECT AGEFROM STUDENT YWHERE SNO=980103' AND X.SNO=Y.SNO);⑨查询“钱军”教师任课的课程号,以及选修其课程学生的学号和成绩;SELECT O,SNO,GRADEFROM SC,TEACHRT,COURSEWHERE TNAME我军’AND TEACHER.TNO=COURSE.TNO AND SC.CON=COURSE.CON;⑩查询选修某课程的学生人数多于20人的教师姓名;SELECT DISTINCT TNAMEFROM TEACHER,SC,COURSEWHERE TEACHER.TNO=COURSE.TNO AND SC.CON=COURSE.CONGROUP BY OHAVING coun t(SNO)>20;11查询选修编号为“ 8105”课程且成绩至少高于其选修编号为“8245”课程成绩的同学的SNC及“ 8105”课程成绩,并按成绩从高到低依次排列;SELECT SNO GRADEFROM SC XWHERE CNO=81O5' AND GRADE>(SELECT GRADEFROM SC YWHERE CNO=8245' AND X.SNO=Y.SNO)ORDER BY GRADE DESC;12查询选修编号为“ 8105”课程且成绩高于所有选修编号为“ 8245”课程成绩的同学的 CNO SNO GRADESELECT CNO,SNO,GRADEFROM SCWHERE CNO=81O5' AND GRADE>(SELECT MAX(GRADE)FROM SCWHERE CNO=8245' AND O=Y.SNO);13列出所有教师和同学的姓名,SEX,AGESELECT TNAME,TEACHER.SEX,TEACHER.AGE,SNAME,STUDENT.SEX,STUDENT.AGE FROM TEACHER,SC 14查询成绩比该课程平均成绩高的学生的成绩表;SELECT *FROM SC.XGROUP BY SNOHAVING GRADE〉(SELECT AVG(GRADE)FROM SC.YWHERE O=OGROUP BY CNO);15列出所有任课教师的 TNAME^ DEPTSELECT TNAMEQEPTFROM TEACHER,COURSEWHERE TEACHER.TNO=COURSE.TNO16列出所有未讲课教师的 TNAME^ DEPT;SELECT TNAME,DEPYFROM TEACHERWHERE NOT EXISTS(SELECT *FROM COURSEWHERE TEACHER.TNO=COURSE.TNO);17列出至少有4名男生的班号;SELECT CLASSFROM STUDENTGROUP BY CLASSHAVING coun t(SNO)>=4;18查询不姓“张”的学生记录;SELECT *FROM STUDENTWHERE SNAME NOT LIKE'张 % ;19查询每门课最高分的学生的SNO,CNO,GRADE;SELECT SNO,CNO,GRADEFROM SCGROUP BY CNOHAVING GRADE=MAX(GRADE);20查询与“李华”同性并同班的同学SNAMESELECT SNAMEFROM STUDENT XWHERE CLASS=(SELECT CLASSFROM STUDENT YWHERE SNAME李华’AND SEX=(SELSCT SEXFROM STUDENT ZWHERE SNAME^ 华’AND X.SNO=Y.SNO AND Y.SNO=Z.SNO ));21查询“女”教师及其所上的课程;SELECT TNAME,CNO,CNAMEFROM TEACHER,COURSEWHERE TEACHER.TNO=COURSE.TNO,SEX=;22查询选修“数据库系统”课程的“男”同学的成绩表;SELECT *FROM SC,COURSE,STUDENTWHERE STUDENT.SNO=SC.SNO AND O=O AND Cl数据库系统' AND SEX='男’;23查询所有比刘涛年龄大的教师姓名,年龄和刘涛的年龄;SELECT TNAME,AGEFROM TEACHER XWHERE SNAME=^^ 涛’OR AGE>(SELECT AGEFROM TEACHER YWHERE X.TNO=Y.TNO AND SNAME刘涛’);24查询不讲授“ 8106”号课程的教师姓名。

相关文档
最新文档