实验:表查询-初步
一、实验目的与任务
目的:旨在训练学生使用T-SQL语句查询表,能根据给出的语法写出符合用户需求的查询语句,能对记录进行条件查询,排序,分组及统计。
任务:根据需求,写出满足条件的查询语句。
任务1:使用T-SQL语句创建数据库,脚本如下:
CREATE DATABASE SchoolInfo --创建数据库
--创建Department表
Create table Department
(
DepID int primary key,
DepName varchar(20) NOT NULL
)
--创建Course表
Create table Course
(
CourseID int primary key,
CourseName varchar(20) not null
)
--创建学生表
Create table Student
(
S tuID char(10) constraint pkStuID primary key
constraint chkStuID check(StuID like ' [A,B,Z][0-9][0-9][0-9][0-9][0-9]') ,
S tuName varchar(20) not null,
S tuAge int constraint chkStuAge check(StuAge between 15 and 100)
S tuSex char(2) constraint chkStuSex check(StuSex in('男','女'))
constraint defStuSex default '男',
S tuCity varchar(20) ,
S tuScore float constraint chkStuGrade check(StuGrade between 0 and 100) ,
D epID int constraint fkDepID foreign key references Department(DepID)
)
--创建SC表
Create table SC
(
StuID char(10) constraint fkStuID foreign key references Student(StuID),
CourseID int constraint fkCourseID foreign key references Course(CourseID) Constraint pkStuCourse primary key(StuID,CourseID) , Score float constraint chkScore check(Score between 0 and 100) )
任务2:写出以下查询语句
1.显示年龄大于20岁的2系的学生。
2.显示住址值包含’南京‘同时是2系的学生信息。
3.显示2系年龄最大的3位学生信息
4.按系分组显示每个系学生的平均年龄
5.按系分组显示平均年龄超过20岁的组的系名和平均年龄。
6.将年龄超过20岁的学生按系分组,显示平均年龄超过20岁的组的系名和平均年龄。
7.按总计方式显示所有学生的平均年龄。
8.按小计方式以系分组显示学生的平均年龄。
三、内容与要求
课题名称——表的查询
(一)课题内容
按照任务1至任务2逐步完成,完成后学生可以创建简单的查询语句。
(二)课题要求
按照实验任务书逐步完成实验
(三)考核及报告要求
1. 考核
能独立完成任一项任务。
2. 报告要求
提交一份完整的实验报告,实验报告中详细给出每个任务的解决方案,解决方案后附带每个任务的实验结果。
四、主要仪器设备
硬件:PC机
软件:SQL SERVER 2005