zoukankan      html  css  js  c++  java
  • SQL---实验四

    1. 在BookDb数据库中,使用下列SQL语句将输出什么?

    (1) SELECT  Count(*)  FROM  读者信息

          输出的是“读者信息”表中的记录的总数:

     

    (2) SELECT  Substring(姓名,1,2)  FROM 读者信息

          输出的是“读者信息”表中“姓名”列的第一个字符开始进行字符串截取,截取的字符长度为2

     

       (3) SELECT   Upper('database')

     

       输出的结果是将字段'database'转化成大写’DATABASE’:

     

     

       (4) SELECT  Replicate('database',3)

     

       输出的结果是将字段''里面的字符(包括空格)重复输出三次:

     

       (5) SELECT 2,3,Power(2,3)

       

    输出的是2,3,8(power是幂运算,Power(2,3)表示2的3次幂):

     

       (6) SELECT Year(Getdate()),Month(Getdate()),Day(Getdate())

       

    输出的是年月日:

     

    2. 在BookDb数据库中使用SELECT语句进行基本查询。

       (1) 在读者信息表中,查询每个读者的借书证号、姓名、办卡时间信息。

      语句:

        SELECT 借阅证号 ,姓名,办卡时间 FROM 读者信息

     

       (2) 在图书信息表中,查询所有图书的图书编号、书名、作者和出版单位。

      语句:

          SELECT 图书编号,书名,作者,出版单位 FROM 图书信息

     

       (3) 在借阅信息表中,查询所有借阅信息。

      语句:

        SELECT * FROM 借阅信息

       (4) 在读者信息表中查询各单位的读者人数。

    语句:

          select 单位,COUNT(*)人数 from 读者信息,借阅信息

    where 读者信息.借阅证号=借阅信息.借阅证号

    group by 读者信息.单位

     

       (5) 将借阅信息表的借阅记录按借阅日期降序进行排序。

    语句:

          select * from 借阅信息  order by 借阅日期 desc

       (6) 对借阅信息表使用GROUP BY查询子句列出各个读者借书的本数。

    语句:

          select 借阅证号,COUNT(*)本数 from 借阅信息 

    group by 借阅信息.借阅证号

    3. 使用SELECT语句进行条件查询。

       (1) 找出所有信息学院的读者的姓名和联系电话。

    select 姓名,联系电话 from 读者信息 

    where 单位='信息学院'

       (2) 在借阅信息表中查询借阅了图书编号为“10160003”的图书的借阅证号和归还日期。

    select 借阅证号,归还日期  from 借阅信息 

    where 图书编号='10160003'

     

       (3) 查询所有书名中有“数据库”的图书的编号、书名、作者和出版单位。

    select 图书编号,书名,作者,出版单位 from 图书信息 where 书名 LIKE'%数据库%'

     

       (4) 查询办卡时间在“2010-1-1” 之前的读者的所有信息。

    select * from 读者信息 where 办卡时间<'2010-1-1'

     

       (5) 对借阅信息表,查询借阅状态为“1” 的借阅证号和图书编号。

    select 借阅证号,图书编号 from 借阅信息 where 借阅状态='1'

     

       (6) 对图书信息表,查询分类号为“15” 的图书信息。

     

    select * from 图书信息 where 分类号='15'

     

       (7) 查询“人民邮电出版社”出版的所有图书信息。

    select * from 图书信息 where 出版单位 ='人民邮电出版社'

      

       (8) 找出借书超过6本的读者,输出借书证号及所借图书册数。

    select 借阅证号,count(*) AS 借书册数 from 借阅信息 group by 借阅证号 having count(*)>6;

      

    (9)查询过期未还图书,输出借阅者证号、书号及还书日期

     

    4.嵌套查询。

       (1) 在读者信息表中查找与“刘卫华”单位相同的所有读者的姓名、联系电话。

      

    select 姓名,联系电话 from 读者信息 where 单位=

    (select 单位 from 读者信息 where 姓名='刘卫华')

     

     

       (2) 使用IN子查询查找所借图书编号为“10160001” 和“10160002” 的读者的借阅证号、姓名和单位。

       select 读者信息.借阅证号,姓名,单位 from 读者信息

    where 读者信息.借阅证号 in

    (select 借阅信息.借阅证号 from 借阅信息 where 图书编号

     in  ('10160001','10160002'))

     

       (3) 查询现有图书中价格最高的图书,输出书名及作者。

        select 书名,作者 from 图书信息 where 单价=

    (select Max(单价) from 图书信息)

     

    5. 联结查询。

    (1) 查询在当天借阅了图书的读者的借阅证号、姓名。

    select 读者信息.借阅证号,姓名 from 读者信息,借阅信息

    where 读者信息.借阅证号=借阅信息.借阅证号

    AND 借阅日期=GETDATE()

     

     

    (2) 查询借阅了“数据库技术与应用”图书的读者的借阅证号、姓名和借阅日期。

      select 读者信息.借阅证号,姓名,借阅日期 from 读者信息

    INNER JOIN 借阅信息 on 读者信息.借阅证号=借阅信息.借阅证号

    INNER JOIN 图书信息 on 图书信息.图书编号=借阅信息.图书编号

    where 图书信息.书名='数据库技术与应用'

     

    (3) 查询所有研究生的借书情况,要求列出借阅证号、姓名、图书书名。

    select 读者信息.借阅证号,姓名,书名 from 读者信息 JOIN 借阅信息 on

    读者信息.借阅证号=借阅信息.借阅证号

    JOIN 图书信息 on 借阅信息.图书编号=图书信息.图书编号

    where 读者信息.借阅证件类型='研究生'

     

    (4) 查询所有读者的借阅信息,要求列出借阅证号、姓名、借阅书的本数,没有借阅图书的读者的借阅本数为空。

           提示:使用左外联结。

    select  读者信息.借阅证号 ,读者信息.姓名, count(借阅信息.图书编号) AS 借书数目 from 读者信息

    left outer JOIN  借阅信息 on 读者信息.借阅证号=借阅信息.借阅证号

    group by 读者信息.借阅证号,读者信息.姓名

     

     

     

     

    (5) 查询所有图书的借阅情况,要求列出借书证号、书名、借阅日期,没有被借阅的图书的借阅证号值为空。

          提示:使用右外联结。

       select  借阅信息.借阅证号 ,图书信息.书名 ,借阅日期 from 借阅信息

    right outer JOIN  图书信息 on 图书信息.图书编号 =借阅信息.图书编号

    group by 借阅信息.借阅证号,图书信息.书名,借阅日期

    (6) 查询当前借了“计算方法”但没有借“计算方法习题集”的读者,输出其借书证号,并按证号降序排序输出。

    select a.借阅证号 from 借阅信息 a,图书信息 b

    where a.图书编号=b.图书编号

     AND 书名='计算方法'

     AND  NOT EXISTS(select * from 借阅信息 c,图书信息 d

     where c.图书编号=d.图书编号

     AND 书名='计算方法习题集'

     AND c.借阅证号=a.借阅证号)   order by  a.借阅证号 DESC

    不经一番彻骨寒,哪有梅花扑鼻香?
  • 相关阅读:
    ASP记录(一)
    ASP HTML JS CSS JQ之间恩怨
    ASP记录(二)之Input
    网页范例
    初识GoAhead
    TCP、IP、Http、Socket、telnet
    自定义博客的背景图片
    工具管理操作类介绍
    STL string的构造函数
    cout 格式化输出
  • 原文地址:https://www.cnblogs.com/zongyao/p/13831204.html
Copyright © 2011-2022 走看看