--创建BOOK:(图书表)
 CREATE TABLE BOOK (
 BOOK_ID NUMBER(10),
 SORT VARCHAR2(10),
 BOOK_NAME VARCHAR2(50),
 WRITER VARCHAR2(10),
 OUTPUT VARCHAR2(50),
 PRICE NUMBER(3));
 
--创建READER:(读者表)
CREATE TABLE READER (
READER_ID NUMBER(3),
COMPANY VARCHAR2(10),
NAME VARCHAR2(10),
SEX VARCHAR2(2),
GRADE VARCHAR2(10),
ADDR VARCHAR2(50));
 
--创建BORROW:(借阅表)
CREATE  TABLE  BORROW (
 READER_ID  NUMBER(3),
 BOOK_ID  NUMBER(10),
 BORROW_DATE  DATE);

--插入数据:
--BOOK表:
insert into book values(445501,'TP3/12','数据库导论','王强','科学出版社',17.90);
insert into book values(445502,'TP3/12','数据库导论','王强','科学出版社',17.90);
insert into book values(445503,'TP3/12','数据库导论','王强','科学出版社',17.90);
insert into book values(332211,'TP5/10','计算机基础','李伟','高等教育出版社',18.00);
insert into book values(112266,'TP3/12','FoxBASE','张三','电子工业出版社',23.60);
insert into book values(665544,'TS7/21','高等数学','刘明','高等教育出版社',20.00);
insert into book values(114455,'TR9/12','线性代数','孙业','北京大学出版社',20.80);
insert into book values(113388,'TR7/90','大学英语','胡玲','清华大学出版社',12.50);
insert into book values(446601,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50);
insert into book values(446602,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50);
insert into book values(446603,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50);
insert into book values(449901,'TP4/14','FoxPro大全','周虹','科学出版社',32.70);
insert into book values(449902,'TP4/14','FoxPro大全','周虹','科学出版社',32.70);
insert into book values(118801,'TP4/15','计算机网络','黄力钧','高等教育出版社',21.80);
insert into book values(118802,'TP4/15','计算机网络','黄力钧','高等教育出版社',21.80);

--READER表:
insert into reader values(111,'信息系','王维利','女','教授','1号楼424');
insert into reader values(112,'财会系','李  立','男','副教授','2号楼316');
insert into reader values(113,'经济系','张  三','男','讲师','3号楼105');
insert into reader values(114,'信息系','周华发','男','讲师','1号楼316');
insert into reader values(115,'信息系','赵正义','男','工程师','1号楼224');
insert into reader values(116,'信息系','李  明','男','副教授','1号楼318');
insert into reader values(117,'计算机系','李小峰','男','助教','1号楼214');
insert into reader values(118,'计算机系','许鹏飞','男','助工','1号楼216');
insert into reader values(119,'计算机系','刘大龙','男','教授','1号楼318');
insert into reader values(120,'国际贸易','李  雪','男','副教授','4号楼506');
insert into reader values(121,'国际贸易','李  爽','女','讲师','4号楼510');
insert into reader values(122,'国际贸易','王  纯','女','讲师','4号楼512');
insert into reader values(123,'财会系','沈小霞','女','助教','2号楼202');
insert into reader values(124,'财会系','朱  海','男','讲师','2号楼210');
insert into reader values(125,'财会系','马英明','男','副教授','2号楼212');

--BORROW表:
insert into borrow values(112,445501,'19-3月-2006');
insert into borrow values(125,332211,'12-2月-2006');
insert into borrow values(111,445503,'21-8月-2006');
insert into borrow values(112,112266,'14-3月-2006');
insert into borrow values(114,665544,'21-10月-2006');
insert into borrow values(120,114455,'02-11月-2006');
insert into borrow values(120,118801,'18-10月-2006');
insert into borrow values(119,446603,'12-11月-2006');
insert into borrow values(112,449901,'23-10月-2006');
insert into borrow values(115,449902,'21-8月-2006');
insert into borrow values(118,118801,'10-9月-2006');

--1.出姓李的读者姓名(NAME)和所在单位(COMPANY)。
select a.name,a.company
from reader a
where a.name like'李%';
--2.列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。
select distinct(a.book_name),a.output
from book a
--3.查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排序。
select distinct(a.book_name),a.price
from book a
where a.output = '高等教育出版社'
order by a.price desc;
--4.查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OUTPUT)和单价(PRICE)升序排序
select a.sort,a.price
from book a
where a.price between 10 and 20
order by a.output,a.price;
--5.找书名以”计算机”开头的所有图书和作者(WRITER)。
select distinct(a.book_name),a.writer
from book a
where a.book_name like '计算机%';
--6.检索同时借阅了总编号(BOOK_ID)为112266和449901两本书的借书证号(READER_ID)
select a.reader_id
from (select reader_id from borrow where book_id = 112266)a,
(select reader_id from borrow where book_id = 449901)b
where a.reader_id = b.reader_id;
--7.查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)
select a.name,a.company
from reader a
where a.reader_id in
(select reader_id
from borrow
where book_id is not null);

--8.找出李某所借所有图书的书名及借书日期(BORROW_DATE)。
   select c.name, d.book_name,c.borrow_date
   from book d,
   (select a.book_id,a.borrow_date,b.name
   from borrow a,
   (select reader_id,name
   from reader
   where name like '李%') b
   where a.reader_id = b.reader_id) c
   where d.book_id = c.book_id ;

--9.无重复地查询2006年10月以后借书的读者借书证号(READER_ID)、姓名和单位。
select a.reader_id,a.name,a.company
from reader a
where reader_id in
(select distinct reader_id
from borrow
where borrow_date >= to_date('2006-10-01','yyyy-mm-dd'));

--10找出借阅了<FoxPro大全>一书的借书证号。

select a.reader_id
from borrow a
where a.book_id in
(select book_id
from book
where book_name = 'FoxBASE');

--11.找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期 。
select d.name,d.company,c.borrow_date
from borrow c,reader d
where c.borrow_date =
(select b.borrow_date
from reader a , borrow b
where a.reader_id = b.reader_id
and a.name = '赵正义')
and c.reader_id = d.reader_id;

--12. 查询2006年7月以后没有借书的读者借书证号、姓名及单位。

select a.reader_id,a.name,a.company
from reader a
where a.reader_id in
(select reader_id
from borrow
where borrow_date < to_date('2006-08-01','yyyy-mm-dd'));

-- 13.求”科学出版社”图书的最高单价、最低单价、平均单价。
select max(a.price),min(a.price),avg(a.price)
from book a
where a.output = '科学出版社'

--14.求”信息系”当前借阅图书的读者人次数。
select count(distinct a.reader_id)
from borrow a
where a.reader_id in
(select distinct reader_id
from reader
where company ='信息系');

--15 求出各个出版社图书的最高价格、最低价格和总册数。
select a.output, max(a.price) , min(a.price) ,count(a.book_id)
from book a
group by a.output

--16.分别找出各单位当前借阅图书的读者人数及所在单位。
select count(distinct a.reader_id)
from borrow a, reader b
where a.reader_id = b.reader_id
group by b.company;

--17.找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。
select*from book;
select*from borrow;
select*from reader;

select a.name,a.company
from reader a
where a.reader_id in
(select distinct reader_id
from borrow
group by reader_id
having count(book_id)>=2);

oracle SQL语句练习相关推荐

  1. oracle sql语句中包含‘’ 的解决方法

    oracle sql语句中包含'&' 的解决方法 参考文章: (1)oracle sql语句中包含'&' 的解决方法 (2)https://www.cnblogs.com/hm1990 ...

  2. Oracle SQL语句执行过程

    前言 QQ群讨论的时候有人遇到这样的问题:where子句中无法访问Oracle自定义的字段别名.这篇 博客就是就这一问题做一个探讨,并发散下思维,谈谈SQL语句的执行顺序问题. 问题呈现 直接给出SQ ...

  3. Oracle查询所有序列;[oracle中如何创建表的自增ID(通过序列);oracle sql语句大全

    Oracle查询所有序列 oracle sql语句大全 oracle中如何创建表的自增ID(通过序列)

  4. oracle sql 语句如何插入全年日期?

    为什么80%的码农都做不了架构师?>>>    oracle sql 语句如何插入全年日期? create table BSYEAR (d date); insert into BS ...

  5. Oracle SQL语句执行步骤

    Oracle中SQL语句执行过程中,Oracle内部解析原理如下: 1.当一用户第一次提交一个SQL表达式时,Oracle会将这SQL进行Hard parse,这过程有点像程序编译,检查语法.表名.字 ...

  6. Oracle Sql语句定时执行

    Oracle Sql语句定时执行 本文链接:https://blog.csdn.net/qq_16979575/article/details/70169519 通过网上查询,找到一种方案,就是先在o ...

  7. sql跟踪 oracle,oracle SQL语句跟踪详解

    本文主要内容为oracle SQL语句跟踪详解,废话不多说,马上进入正题. 对于跟踪的sql语句,生成的trace 文件放在udump 下 SQL> showparameter sql NAME ...

  8. oracle sql语句中like %参数%的用法

    oracle sql语句中like %参数%的用法,在网上找了很久没找到类似的帖子,因此分享一下我的收获,希望对看到的人有帮助 今天在处理oracle数据库数据merge的时候遇到一个问题: 在mer ...

  9. oracle中子查询的执行顺序是,Oracle sql语句执行顺序

    sql语法的分析是从右到左 一.sql语句的执行步骤: 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义. 2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限. ...

  10. Oracle+sql+取年度,oracle SQL语句取本周本月本年的数据

    --国内从周一到周日 国外是周日到周六 select to_char(sysdate-1,'D') from dual;--取国内的星期几 去掉减一取国外的星期 --取本周时间内的数据 select ...

最新文章

  1. Kindeditor学习中的那些坑
  2. linux/CentOS 6忘记root密码解决办法
  3. android word转html标签,如何将Word转换为网页html格式的方法(附代码清理方法)
  4. debian dhcp服务启动不了_DHCP服务器配置
  5. 【Siddhi】Siddhi 4.2.40版本之前的一个Bug
  6. python github登陆_利用Python模拟GitHub登录!
  7. 8183微型计算机,佳木斯大学12年微机原理复习题..doc
  8. GEF:应用示例列表
  9. Kinect 数据录制与回放
  10. 为编译安装的nginx提供init服务控制脚本
  11. brew彻底卸载mysql
  12. 开启阿里云linux下的pure-ftpd被动模式,解决flashfxp可连接但无法下载的问题
  13. Cell Ranger
  14. 对XPO对象数据库访问数据库连接可控
  15. 使用poi导出excel
  16. 2020牛客暑期多校训练营(第一场)A B-Suffix Array(后缀数组,思维)
  17. 阿里云企业邮箱发送邮件失败,在本地测试可行,在云服务器上失败
  18. java方向的光脚丫子的电影,斯嘉丽·约翰逊:“光着脚丫子”示人,这足踝,这足弓,爱了好吗...
  19. 一文带你了解 三种深度学习框架(Caffe,Tensorflow,Pytorch)的基本内容、优缺点以及三者的对比
  20. c语言大学期中试题,深圳大学C语言期中试题

热门文章

  1. 平凡的世界 田晓霞的日记 摘抄
  2. nginx 403错误
  3. 反甩锅成功后思考——RST 报文
  4. 分布式架构 网络传输优化
  5. python中chr65_Python语句 print(chr(65))的运行结果是
  6. 小苹果音乐用计算机怎么打,小苹果苗语版歌曲-计算器音乐简谱,比如一些流行歌曲小苹果等等之类的?...
  7. 【Android】获取当前的安卓版本号的代码
  8. c# webbrowser html5,C#设置WebBrowser IE浏览器版本
  9. 可视化GDP动态图表EXCEL也能搞定,如何用Excel做动态图表
  10. 16S多样性测序,到底该选啥引物?!