Oracle的基本操作:数据查询

数据查询

实验目的
1. 掌握基本查询的SQL语句。
2. 掌握SELECT语句中函数的使用方法。
3. 掌握多表查询、子查询的基本方法。
4. 了解高级查询的基本方法。

检索限定与排序

  1. 查询所有图书的基本信息。
SELECT *
FROM Book;

在这里插入图片描述

  1. 查询所有的图书编号、名称和价格
SELECT B_ID,B_Name,Price
FROM Book;

在这里插入图片描述

  1. 查询教师一次可以借多少本书以及借书期限多少天,输出的结果字段名分别用借书本数和借书期限表示
SELECT LimitNum as 借书本数,LimitDays as 借书期限
FROM ReaderType
WHERE RT_Name='教师';

在这里插入图片描述

  1. 查询“人民邮电出版社”出版的图书的书名、作者、出版社编号及出版日期
SELECT B_Name ,Author ,P_ID ,PubDate
FROM Book
WHERE P_ID IN(SELECT P_ID
FROM Publish
WHERE Pubname='人民邮电出版社');

在这里插入图片描述

  1. 查询姓“张”读者的基本信息
SELECT *
FROM Reader
WHERE R_Name LIKE '张%';

在这里插入图片描述

  1. 查询Borrow表中未还图书的记录
SELECT *
FROM Borrow 
WHERE ReturnDate IS NULL;

在这里插入图片描述

  1. 查询2012年一年以内的借阅记录
SELECT   *
FROM Borrow
WHERE TO_CHAR(LendDate,'yyyy')=2012;

在这里插入图片描述

  1. 查询部门在“学生处”或“后勤处”的读者信息
SELECT *
FROM Reader
WHERE RDept='学生处' OR RDept='后勤处';

在这里插入图片描述

  1. 查询所有图书的图书编号、名称、作者、出版日期和价格,并按价格升序排序,若图书价格相同,则按出版日期降序排序。
SELECT B_ID ,B_Name ,Author ,PubDate ,Price
FROM Book
ORDER BY Price,PubDate DESC;

在这里插入图片描述

  1. 查询“BorrowInfo”不为空的借阅记录,并对检索结果按还书日期升序排序,若还书日期为NULL,则还书日期为NULL的行排在最前面
SELECT *
FROM Borrow
WHERE BorrowInfo IS NOT NULL
ORDER BY ReturnDate DESC nulls last;

在这里插入图片描述

难点
NULL的排序方式 :null是最大的,如果是ASC,则被排在最后。如果是DESC,则被排在最前。
解答
因为ORACLE认为空值是最大的值,所以将SQL语句改为 …order by ”排序字段" desc nulls last ;
不管是ASC 还是 DESC:
nulls first :将null排在最前面。
null last :将null排在最后面。
使用使用语法如下:
–将nulls始终放在最前
SELECT *
FROM zl_cbqc
ORDER BY cb_ld NULLS FIRST

–将nulls始终放在最后
SELECT *
FROM zl_cbqc
ORDER BY cb_ld DESC NULLS LAST

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值