zoukankan      html  css  js  c++  java
  • 对学生数据库进行查询等操作

    对学生数据库进行查询等操作

    学生数据库中有3张数据表,关系模型如下:

    1、学生信息

    字段名 数据类型 备注
    学号 char(10) primary key
    姓名 nvarchar(10)
    性别 nchar(2)
    出生日期 date
    专业 nvarchar(10)

    2、课程信息

    字段名 数据类型 备注
    课程序号 char(10) primary key
    课程名称 nvarchar(20)
    开课学期 char(1)
    学分 smallint

    3、成绩信息

    字段名 数据类型 备注
    学号 char(10) primary key, foreign key
    课程序号 char(10) primary key, foreign key
    成绩 tinyint

    查询“计算机科学与技术”专业的学生人数,显示字段名为学生人数

    select count(*) 学生人数 from 学生信息
    where 专业 = "计算机科学与技术"
    group by 专业
    

    查询与“刘晨”在同一个专业学习的学生,显示学号、姓名。

    注意:结果中不包括刘晨

    select 学号,姓名 from 学生信息
    where 专业 in (select 专业 from 学生信息 where 姓名 = "刘晨") and 姓名!="刘晨"
    

    查询选修了课程名为“操作系统”的学生,显示学号,姓名

    select a.学号,a.姓名 from 学生信息 a
    inner join 成绩信息 b on a.学号 = b.学号
    inner join 课程信息 c on b.课程序号 = c.课程序号
    where c.课程名称 = "操作系统"
    

    建立一个计算机科学与技术专业,且年龄不大于19岁的学生的视图,字段包括学生学号,姓名,出生日期,视图名字为 学生年龄视图

    提示1 :如何利用出生日期结合系统函数计算年龄

    ​ DATEDIFF(datepart,startdate,enddate)

    ​ 返回两个指定日期的日期和时间边界数(差值),datepart 规定了用日期的哪一部分(year、month、day、week、hour等)来计算差额。

    提示2 :获得当前时间GETDATE()

    create view 学生年龄视图 as
    select 学号,姓名,出生日期 from 学生信息
    where DATEDIFF(yy,出生日期,GETDATE())<=19 and 专业 = "计算机科学与技术"
    

    通过刚建立的 学生年龄视图,查询计算机科学与技术专业年龄不大于19岁的学生学号,姓名

    select 学号,姓名 from 学生年龄视图
    

    建立一个既选修了课程1又选修了课程2的学生视图,名为 学生课程视图 ,包含字段学号、姓名、专业

    create view 学生课程视图 as
    select a.学号,a.姓名,a.专业 from 学生信息 a
    inner join 成绩信息 b on a.学号 = b.学号
    where b.课程序号 = "1" 
    union
    select a.学号,a.姓名,a.专业 from 学生信息 a
    inner join 成绩信息 b on a.学号 = b.学号
    where b.课程序号 = "2"
    

    通过刚建立的学生课程视图,查询学生学号,姓名

    select 学号,姓名 from 学生课程视图
    
  • 相关阅读:
    ObjecT4:On-line multiple instance learning (MIL)学习
    目标跟踪ObjectT综述介绍
    CV与IP:基础,经典以及最近发展
    PythonGIS可视化—Matplot basemap工具箱
    SciPy和Numpy处理能力
    mwArray与C++接口
    使用QT的一些小Tipster
    C++调用Matlab 注意事项
    Qwt--散点图/函数图
    **PCL:嵌入VTK/QT显示(Code^_^)
  • 原文地址:https://www.cnblogs.com/lightice/p/12727901.html
Copyright © 2011-2022 走看看