数据库原理之嵌套查询and集合查询

嵌套查询

嵌套查询概述:
	将一个查询块嵌套在另一个查询的WHERE子句或HAVONG短句的`条件中的查询称为嵌套查询。
什么是查询块?
	一个SELECT-FORM-WHERE短句称为一个查询块

在这里插入图片描述
嵌套查询求解方法

  • 不相关子查询:

    子查询的查询条件不依赖于父查询,由里向外逐层处理,即每个子查询在上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件。

  • 相关子查询:
    子查询的查询条件依赖于父查询,首先取外层查询中表的第一个元组,根据它与内层查询相关的属性值处理内层查询,若WHERE子句返回值为真,则取此元组放入结果表,然后再取外层表的下一个元组,重复这一过程,直至外层表全部检查完成为止。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

1、基于实验一建立的 “图书读者数据库”(Book_Reader_DB),输入部分虚拟数据;假定实验一的实验后的结果数据库的关系模式如下: 图书(书号,类别,出版社,作者,书名,定价,数量,购买日期,备注) 读者(编号,姓名,单位,性别,电话) 借阅(书号,读者编号,借阅日期,还书日期) 2、打开查询分析器,并建立与服务器的连接,在数据库对象下拉框中选择“Book_Reader_DB”,在查询分析器输入区中输入Transact-SQL语句,然后点击“查询”菜单中的“执行”菜单项(或用F5快捷键),执行输入区的Transact-SQL语句,如下图所示; 3、用连接查询嵌套查询的方法实现下列查询 在“图书读者数据库”(Book_Reader_DB)中,用连接查询的方法完成下列查询任务: ① 查询借阅了类别为“环境”类图书的所有读者编号、姓名及单位; ② 查询借阅过图书的读者编号、姓名及单位; ③ 查询姓名为“李明”的读者目前借阅的图书书号和书名; ④ 查询借书过期的所有读者姓名及所借图书名(假定借阅期为60天); ⑤ 查询没有借阅过图书的所有读者姓名; ⑥ 查询借出次数超过10次的所有图书的书号和书名; ⑦ 查询除已还的书以外,目前借了5本或以上图书的读者编号和姓名; ⑧ 查询书库中除借出的图书外,现存的图书书号、书名、现存数量;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值