• 数据库SQL语言学习--上机练习2(连接查询 嵌套查询)(持续更新中)


    数据库SQL语言学习--上机练习2(连接查询 嵌套查询)(持续更新中)

    上机练习2

    1、              启动SQL Server 2008中的 SQL Server Management Studio。

    2、              针对下面三张基本表进行操作:

    学生信息表(Student):

    列名

    数据类型

    长度

    是否可空

    备注

    学号

    char

    4

    N

    PRIMARY  KEY

    姓名

    varchar

    8

    N

    性别

    char

    2

    Y

    男/女

    出生日期

    date

    Y

    家庭地址

    varchar

    50

    Y

    身高

    decimal(3,2)

    Y

    备注

    text

    Y

    课程表(Course):

    列名

    数据类型

    长度

    是否可空

    备注

    课程编号

    Char

    4

    N

    主键

    课程名称

    varchar

    50

    N

    学分

    int

    Y

    成绩表(Score):

    列名

    数据类型

    长度

    是否可空

    备注

    学号

    Char

    4

    N

    主键

    课程编号

    char

    4

    N

    主键

    分数

    Decimal(3,1)

    Y

    3、              将下列数据输入各个表中

    学号

    姓名

    性别

    出生日期

    家庭地址

    身高

    备注

    0001

    刘一平

    1990-10-1

    温州市环城西路201号

    1.78

    0002

    张得民

    1990-12-2

    杭州市下沙路22号

    1.65

    0003

    马东

    1990-7-4

    宁波市中山北道20号

    1.71

    0004

    肖海燕

    1990-3-15

    温州市越秀北路43号

    1.65

    0005

    张民华

    1991-5-13

    宁波市艮山路7号

    1.63

    课程编号

    课程名称

    学分

    0001

    计算机基础

    2

    0002

    管理学原理

    3

    0003

    数据库技术

    3

    0004

    项目管理

    2

    0005

    毕业论文

    10

    学号

    课程编号

    分数

    0001

    0001

    80.0

    0001

    0002

    90.0

    0001

    0003

    70.0

    0001

    0004

    85.0

    0002

    0001

    78.0

    0002

    0002

    NULL

    0002

    0003

    77.0

    0002

    0004

    67.0

    0003

    0001

    66.0

    0003

    0002

    76.0

    0003

    0003

    NULL

    0003

    0004

    73.0

    4、    为Student表添加“系名”字段,存储数据如:“信息系”,“数学系”,“计算机系”等,具体数据可自行添加到Student表中;
    ALTER TABLE Student ADD  xi_name char(10);
    5、    统计各个课程号及相应的选课人数;
    SELECT Cno,COUNT(Sno) FROM Score GROUP BY Cno;
    6、    统计没有参加考试的学生学号和姓名;
    SELECT Sno,Sname FROM Student WHERE Sno NOT IN(SELECT Sno FROM Score);
    7、    查询选修了3门课以上的学生姓名;
    SELECT Sname FROM Student WHERE Sno IN (SELECT Sno FROM Score GROUP BY Sno HAVING COUNT(*)>3);
    8、    统计选修人数在3人以上的课程号和课程名;
    SELECT Cno,Cname FROM Course WHERE Cno IN (SELECT Cno FROM Score GROUP BY Cno HAVING COUNT(*)>3);
    9、    查询每个学生的学号、姓名、选修的课程名及成绩;
    10、    查询选修了课程号为“0003”的学生姓名和住址;
    11、    查询与“刘一平”来自同一个系的学生姓名;
    12、    查询其它系中课程‘0002’比信息系所有学生分数高的学生学号和姓名;
    13、    查询其它系中比信息系所有学生年龄大的学生姓名和性别;
    14、    查询每门课程中低于该课程平均成绩的学生学号和姓名;
    15、    查询“信息系”中选课最多的学生学号;
    16、    查询有两门及以上课程不及格的学生学号和姓名;
    17、    查询比“0002”号课程平均分高的其它课程信息;
    18、    查询选修了所有课程的学生学号和姓名。
  • 相关阅读:
    Simulink仿真入门到精通(一) Simulink界面介绍
    Learn Regex The Easy Way
    C语言程序设计(十三) 文件操作
    C语言程序设计(十二) 结构体和共用体
    C语言程序设计(十一) 指针和数组
    C语言程序设计(十) 字符串
    C语言程序设计(九) 指针
    C语言程序设计(八) 数组
    C语言程序设计(七) 函数
    C语言程序设计(六) 循环控制结构
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/13270817.html
Copyright © 2020-2023  润新知