市场营销0902班090503044罗美贵(1)

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

实验报告

课程名称:数据库技术

实验项目:结构化查询语言SQL 专业班级:市场营销0902 姓名:罗美贵学号090503044 实验室号:文科楼127 实验组号:

实验时间: 2011.11.13 批阅时间:

指导教师:孟艳红成绩:

沈阳工业大学实验报告

专业班级:市场营销0902 学号:090503044 姓名:罗美贵实验项目:结构化查询语言SQL

一、实验目的

1.掌握SQL创建查询的方法

2.掌握使用SQL语言进行简单的查询

3.掌握使用SQL语言进行连接查询

二、实验内容

1.学习掌握创建表的方法

2.学习向表中添加记录的方法

3.设置表间的关系

4.学习SQL语言的语法格式

三、实验方案

1.创建学生管理数据库

2.在数据库中建立学生表、课程表、选课表、教师表

3.建立4个表之间关系

4.使用SQL语言完成查询任务

四、实验步骤或程序

(见附件)

附件一: 沈阳工业大学实验报告

专业班级:市场营销0902 学号:090503044 姓名:罗美贵

实验项目:结构化查询语言SQL

实验步骤或程序

一、创建数据库及表,并向表中添加数据。学生表数据如下:课程表数据如下:

教师表数据如下:

选修表数据如下:

二、创建查询

1简单查询

(1)查询全体学生的姓名,学号。

在SQL窗口输入语句:

SELECT学号,姓名FROM学生。运行结果如下:

(2)查询全体教师的教师、姓名和职称。

在SQL语言窗口输入如下语句:

SELECT教师、姓名、职称FROM教师。

运行结果如下:

(3)查询全体学生的学号、姓名、性别和专业。

在SQL窗口输入如下语句:

SELECT 学号,姓名,性别,专业FROM学生。运行结果如下:

分析:简单查询是基于单个表但可以设置简单的查询条件。这样的查询由Select和From短语构成无条件查询,或由Select、From和Where构成的条件查询。

2条件查询

(1)查询1985年出生的学生姓名,性别,和所学的专业在SQL窗口输入语句:

SELECT姓名,性别,专业FROM学生WHERE year(出生年月)=1985 运行结果如下:

(2)查询开设的全部课程的课程号,课程名,和主讲教师姓名。

在SQL窗口输入语句:

SELECT 课程号,课程名,教师.姓名;

FROM课程,教师;

WHERE 课程.教师号=教师.教师号

运行结果如下:

(3)查询年龄大于20岁的女同学学号,姓名、性别和专业。

在SQL 窗口输入如下语句:

SELECT学号、姓名、性别、专业FROM学生。

WHERE(date()-出生年月)/365>20.and.性别='女'

运行结果如下:

(4)查询职称为副教授的教师姓名和性别。

在SQL窗口输入如下语句:

SELECT 姓名、性别FROM教师

WHERE职称='副教授'

运行结果如下:

分析:条件查询是属于简单查询的内容,也基于单个表的查询,其语句由Select、From和Where构成。

3连接查询

(1)查询所有选修了课程的学生姓名,课程名及成绩。

在SQL窗口输入语句:

SELECT学生.姓名,课程.课程名,选修.成绩;

FROM 学生,课程,选修;

WHERE学生.学号=选修.学号and选修.课程号=课程.课程号

运行结果如下:

(2)查询选修了赵洪斌老师课程的学生号、姓名、课程名和成绩。在SQL窗口输入语句:

SELECT 学生.学号,学生.姓名,课程.课程名,选修.成绩;

FROM 学生,选修,课程,教师;

WHERE 学生.学号=选修.学号 AND 选修.课程号=课程.课程号; AND 课程.教师号=教师.教师号 AND 教师.姓名='赵洪斌'

运行结果如下:

分析:连接查询涉及多张表的查询,是一种基于多个关系的查询。由Select、From和Where短语构成,该查询较为复杂,主要关键在于分析、明确表与表之间的内在关系及要显示的内容与表的关系等。

4嵌套查询

(1)查询没有学习C001课程的学生姓名、性别及专业。

在SQL窗口输入如下语句:

SELECT 姓名,性别,专业;

FROM 学生;

WHERE 学号NOT IN (SELECT 学号;

FROM 选修;

WHERE 课程号='C001')

运行结果如下:

分析:嵌套查询是在查询语句中还包含一个查询语句,即在Select 语句中还包含一个Select语句。在该查询中,外层Where子句中嵌套一个Select语句,嵌套的子句查询在外层查询之前执行。

5分组计算查询

(1)求男生的总人数和平均年龄.

SELECT COUNT(*),A VG(YEAR(DATE())-YEAR(出生年月)); FROM 学生;

WHERE 性别='男'

运行结果如下:

(2)统计选修了课程的学生人数.

SELECT COUNT (DISTINCT学号) FROM 选修

运行结果如下:

(3)统计每门课程的学生选修人数。

在SQL窗口输入语句:

SELECT 课程号,count(学号) from 选修 group by 课程号

运行结果如下:

(4)求每名教师每门课程的学生选修人数,要求显示教师号、课程

相关文档
最新文档