码迷,mamicode.com
首页 > 数据库 > 详细

数据库sql

时间:2018-11-02 13:08:03      阅读:403      评论:0      收藏:0      [点我收藏+]

标签:boa   group by   where   参考   信息   details   cin   view   log   

题目1

        学校图书馆借书信息管理系统建立三个表:
        学生信息表:student

字段名称

数据类型

说明

stuID

char(10)

学生编号,主键

stuName

Varchar(10)

学生名称

major

Varchar(50)

专业

        图书表:book

字段名称

数据类型

说明

BID

char(10)

学生编号,主键

title

Varchar(10)

学生名称

author

Varchar(50)

专业

        借书信息表:borrow

字段名称

数据类型

说明

borrowID

char(10)

借书编号,主键

stuID

char(10)

学生编号,外键

BID

char(10)

图书编号,外键

T_time

datetime

借书日期

B_time

datetime

还书日期

        请编写SQL语句完成以下的功能:
1) 查询“计算机”专业学生在“2007-12-15”至“2008-1-8”时间段内借书的学生编号、学生名称、图书编号、图书名称、借出日期;参考查询结果如下图所示:
技术分享图片
2) 查询所有借过图书的学生编号、学生名称、专业;参考查询结果如下图所示:
技术分享图片
3) 查询借过作者为“安意如”的图书的学生姓名、图书名称、借出日期、归还日期;参考查询结果如下图所示:
技术分享图片
4) 查询目前借书但未归还图书的学生名称及未还图书数量;参考查询结果如下图所示:
技术分享图片
标准答案:
-- 1)查询“计算机”专业学生在“2007-12-15”至“2008-1-8”时间段内借书的学生编号、学生名称、图书编号、图书名称、借出日期—
  1. select 学生编号=stuID,学生名称=(select stuName from student where stuID=borrow.stuID),图书编号=BID,图书名称=(select title from book where BID=borrow.BID),借出日期=T_time from borrow where stuID in (select stuID from student where major=‘计算机‘) and T_time>‘2007-12-15‘ and T_time<‘2008-1-8‘  

     

-- 2)查询所有借过图书的学生编号、学生名称、专业--
  1. select 学生编号=stuID,学生名称=stuName,专业=major from student where stuID in (select stuID from borrow)  

     

-- 3)查询借过作者为“安意如”的图书的学生姓名、图书名称、借出日期--
  1. select 学生名称=(select stuName from student where stuID=borrow.stuID),图书名称=(select title from book where BID=borrow.BID),借出日期=T_time,归还日期=B_time from borrow where BID in (select BID from book where author=‘安意如‘) 

     

     
-- 4)查询目前借书但未归还图书的学生名称及未还图书数量--
  1. select 学生名称=(select stuName from student where stuID=borrow.stuID),借书数量=count(*) from borrow where B_time is null group by stuID  

     

数据库sql

标签:boa   group by   where   参考   信息   details   cin   view   log   

原文地址:https://www.cnblogs.com/yanqb/p/9895399.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!