77范文网 - 专业文章范例文档资料分享平台

实验二

来源:网络收集 时间:2020-05-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

《数据库原理与设计》

实验报告

专业 年级 姓名 学号 指导老师 实验室 使用日期

苏州大学计算机科学与技术学院统一印制

二零零八年三月

实验二 Sql语言基础

㈠ 目的和要求

1、 掌握Sql的的数据类型,熟悉如何用Sql语言建立数据库、数据表;

2、 掌握如何通过Sql语言建立主键、外键;掌握通过Sql语言为表添加一个新的属性; 3、 掌握通过insert语句向表中插入记录; 4、 掌握基本的Sql查询命令、自然连接。

㈡ 实验内容

1. 通过Sql语句建立一个数据库jxgl 答:对应的SQL语句:

CREATE DATABASE jxgl

2. 通过Sql 语句在上述数据库中建立zyb(专业表)、bjb(班级表)、 xsb(学生表)。各个表

的结构如下:

zyb(zydm, zymc), bjb(bjdm, bjmc, zydm), xsb(xh, xm, xb, age, bjdm) 请为这三张表的各个属性设计合理的数据类型(请参加下面的具体的数据), 答:对应的SQL语句:

use jxgl;

create table xsb

(xh varchar(10) primary key, xm varchar(50), xb varchar(50), age int,

bjdm varchar(50) )

create table bjb

(bjdm varchar(10) primary key, bjmc varchar(50), zydm varchar(10) )

create table zyb

(zydm varchar(10) primary key, zymc varchar(50) )

3. 通过Sql语句为上述表中添加如下记录

zyb:

z01, 计算机软件; z02, 软件工程 z03, 计算机科学 bjb b01, 07计算机软件, z01 b02, 07计算机科学, z03 xsb 0701001, 张三, 男, 18,b01 0701002, 李四, 男, 17,b01 0701003, 李茜, 女, 19, b01 0702001, 赵勇, 男, 20,b02 0702002, 李茜, 女, 18,b02 答:对应的SQL语句:

insert into zyb(zydm,zymc) values ('z01','计算机软件')

insert into zyb(zydm,zymc) values ('z02','软件工程')

insert into zyb(zydm,zymc) values ('z03','计算机科学')

insert into bjb(bjdm,bjmc,zydm) values ('b01','07计算机软件','z01')

insert into bjb(bjdm,bjmc,zydm) values ('b02','07计算机科学','z03')

insert into xsb(xh,xm,xb,age,bjdm) values ('0701001','张三','男',18,'b01')

insert into xsb(xh,xm,xb,age,bjdm) values ('0701002','李四','男',17,'b01')

insert into xsb(xh,xm,xb,age,bjdm) values ('0701003','李茜','女',19,'b01')

insert into xsb(xh,xm,xb,age,bjdm) values ('0702001','赵勇','男',20,'b02')

insert into xsb(xh,xm,xb,age,bjdm) values ('0702002','李茜','女',18,'b02')

4. 用Sql语言完成下列查询,将SQL语句写在下面:

(1) 查询所有的学生的学号、姓名、所在班级的名称

select xh,xm,bjmc from xsb a join bjb b on a.bjdm=b.bjdm

(2) 查询全校的所有班级的班级代码、班级名称、所所属专业名称

select bjdm,bjmc,zymc from bjb a join zyb b on a.zydm=b.zydm

(3) 查询所有的学生的学号、姓名、所在班级的名称、所在专业的名称

select xh,xm,bjmc,zymc from xsb a join bjb b on a.bjdm=b.bjdm join zyb c on b.zydm=c.zydm

(4) 列出全校所有的专业,以及属于这些专业的班级的名称。(left join)

select zymc,bjmc from zyb a left join bjb b on a.zydm=b.zydm

(5) 查找所有姓李的学生的学号、姓名和所在班级的名称

select xh,xm,bjmc from xsb a join bjb b on a.bjdm=b.bjdm where xm like '李%'

(6) 查找年龄在18-19岁的所有姓李的学生的学号、姓名,按照年龄的升序排序

select xh,xm,age from xsb

where age<=19 and age>=18 and xm like '李%' order by age

(7) 统计xsb表中的所有学生的人数 select count(xsb.xh) from xsb

(8) 统计每个班级的学生的人数

select count(a.xh),bjmc from xsb a join bjb b on a.bjdm=b.bjdm

group by b.bjmc

(9) 统计每个班级的男生和女生的人数

select count(a.xh),a.xb,bjmc from xsb a join bjb b on a.bjdm=b.bjdm group by a.xb,b.bjmc

(10) 查找出学生平均年龄最小的班级的名称

select top 1 bjmc,avg(age)as avgage from xsb a join bjb b on a.bjdm=b.bjdm group by bjmc order by avgage

(11) 查找出所有同名的学生的姓名和所在的班级代码

select xm,bjdm from xsb where xm in (select xm from xsb group by xm having count(xm)>1)

(12) 查找出所有同名的学生的姓名和所在的班级代码和班级名称

select xm,b.bjdm,bjmc from xsb a join bjb b on a.bjdm=b.bjdm where xm in (select xm from xsb group by xm having count(xm)>1)

(13) 使用in 或者not in 的方法,查找出没有任何班级的那些专业的名称 select zymc from zyb where zydm not in (select zydm from bjb)

(14) 使用exists 或者not exists 的方法,查找出没有任何班级的那些专业的名称

select zymc from zyb where not exists (select zydm from bjb where zyb.zydm=bjb.zydm)

㈢ 实验步骤

略。按照上面步骤完成,无需填写

㈣ 实验小结

实验日期: 2015 年 3 月 31 日 实验成绩:______

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库实验二在线全文阅读。

实验二.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1069548.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: