ORACLE数据库实验总集 实验六 SQL 语句应用

一、 实验目的
(1) 掌握数据的插入(INSERT)、 修改(UPDATE) 和删除(DELETE) 操作。
(2) 掌握不同类型的数据查询(SELECT) 操作。
二、 实验要求
(1) 利用 INSERT 语句向图书销售系统表中插入数据。
(2) 利用 UPDATE 语句修改图书销售系统表中的数据。
(3) 利用 DELETE 语句删除图书销售系统表中的数据。
(4) 利用 SELECT 语句实现对图书销售系统数据的有条件查询、 分组查询、 连接查询、 子查询等。
三、 实验内容
(1) 以 bs 用户登录 BOOKSALES 数据库, 将下列表中的数据插入到数据库的相应表中。

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(2) 将 ISBN 为 978-7-121-18619-8 的图书的零售价格(retail) 修改为 30。
(3) 将订单号为 1000 的订单的发货日期修改为“2013-2-2”。
(4) 查询 BOOKS 表中包含的所有图书列表。
(5) 列出 BOOKS 表中有图书类型非空的图书书名。
(6) 列出 BOOKS 表中每本书的书名和出版日期。 对 pubdate 字段使用 Publication Date 列标题。
(7) 列出 CUSTOMERS 表中每一个客户的客户号以及他们所在的地址。
(8) 创建一个包含各个出版社的名称、 联系人以及出版社电话号码的列表。 其中, 联系人的列在显示的结果中重命名为 Contact Person。
(9) 查询下达了订单的每一个客户的客户号。
(10) 查询 2013 年 3 月 1 日之后发货的订单。
(11) 查询居住在北京或大连的客户, 将结果按姓名的升序排列。
(12) 列出姓“王” 的作者编写的所有图书信息, 并将结果按姓名降序排序。
(13) 查询“儿童” 类和“烹饪” 类的所有图书。
(14) 查询书名的第二个字母是“A”、 第四个字母是“N” 的图书信息。
(15) 查询电子工业出版社在 2012 年出版的所有“计算机” 类图书的名称。
(16) 查询图书名称、 出版社名称、 出版社联系人的名称、 EMAIL 和电话号码。
(17)查询当前还没有发货的订单信息及下达订单的用户名, 查询结果按下达订单日期排序。
(18) 查询已经购买了“计算机” 类图书的所有人的客户号和姓名。
(19) 查询“王牧” 购买的图书的 ISBN 以及书名。
(20) 查询订购图书“Oracle 数据库基础” 的客户将收到什么样的礼品。
(21) 确定客户“张扬” 订购的图书的作者。
(22) 查询 CUSTOMERS 表中的每一个客户所下达的订单数量。
(23) 查询价格低于同一种类中其它图书的平均价格的图书的信息。
(24) 查询每个出版社出版图书的平均价格、 最高价格、 最低价格。
(25) 统计每个客户购买图书的数量及总价钱。
(26) 查询比 1 号订单中图书数量多的其它订单信息。
(27) 查询所以客户及其订购图书的信息。
(28) 查询没有订购任何图书的客户信息。
(29) 查询订购金额最高的客户信息。
(30) 查询名为“赵敏” 的客户订购图书的订单信息、 订单明细。
四、问题解答及实验结果
(1) 以 bs 用户登录 BOOKSALES 数据库, 将下列表中的数据插入到数据库的相应表中。
SQL> create sequence customers_customer_id minvalue 1 nomaxvalue increment by 1 start with 1 nocache;
SQL> insert into customers values(customers_customer_id.nextval,‘王牧’,‘83823422’,‘Wangmu@sina.com’,‘北京’,‘110010’);
SQL> insert into customers values(customers_customer_id.nextval,‘李青’,‘83824566’,‘Liqing@sina.com’,‘大连’,‘116023’);
SQL> insert into publishers values(1,‘电子工业出版社’,‘张芳’,‘56231234’);
SQL> insert into publishers values(2,‘机械工业出版社’,‘孙翔’,‘89673456’);
SQL> insert into books values(‘978-7-121-18619-8’,‘文化基础’,‘王澜’,to_date(‘2010-1-1’,‘yyyy-mm-dd’),2,35,28,‘管理’);
SQL> insert into books values(‘978-7-122-18619-8’,‘Oracle’,‘孙风栋’,to_date(‘2011-2-1’,‘yyyy-mm-dd’),1,40,32,‘计算机’);
SQL> insert into orders values(orders_order_id.nextval,3,to_date(‘2013-2-1’,‘yyyy-mm-dd’),to_date(‘2013-2-5’,‘yyyy-mm-dd’),‘大连’,‘116023’);
SQL> insert into orders values(orders_order_id.nextval,2,to_date(‘2013-3-1’,‘yyyy-mm-dd’),to_date(‘2013-3-1’,‘yyyy-mm-dd’),‘大连’,‘116023’);
SQL> insert into orderitem values(1000,1,‘978-7-121-18619-8’,5);
SQL> insert into orderitem values(1000,2,‘978-7-122-18619-8’,20);
SQL> Insert Into orderitem values(1001,1,‘978-7-121-18619-8’,15);
SQL> insert into promotion values(1,‘签字笔’,100,150);
SQL> insert into promotion values(2,‘笔记本’,150,300);
SQL> insert into promotion values(3,‘保温杯’,300,500);
在这里插入图片描述

(2) 将 ISBN 为 978-7-121-18619-8 的图书的零售价格(retail) 修改为 30。
SQL> update books set retail=30 where isbn=‘978-7-121-18619-8’;
在这里插入图片描述

(3) 将订单号为 1000 的订单的发货日期修改为“2013-2-2”。
SQL> update orders set shipdate=to_date(‘2013-2-2’,‘yyyy-mm-dd’) where order_id=1000;
在这里插入图片描述

(4) 查询 BOOKS 表中包含的所有图书列表。
SQL> select * from books;
在这里插入图片描述

(5) 列出 BOOKS 表中有图书类型非空的图书书名。
SQL> select title from books where category is not null;
在这里插入图片描述

(6) 列出 BOOKS 表中每本书的书名和出版日期。 对 pubdate 字段使用 Publication Date 列标题。
SQL> select title,pubdate “Publication Date” from books;
在这里插入图片描述

(7) 列出 CUSTOMERS 表中每一个客户的客户号以及他们所在的地址。
SQL> select customer_id,address from customers;
在这里插入图片描述

(8) 创建一个包含各个出版社的名称、 联系人以及出版社电话号码的列表。 其中, 联系人的列在显示的结果中重命名为 Contact Person。
SQL> select name,contact “Contact Person”,phone from publishers;
在这里插入图片描述

(9) 查询下达了订单的每一个客户的客户号。
SQL> select customer_id from orders where order_id is not null;
在这里插入图片描述

(10) 查询 2013 年 3 月 1 日之后发货的订单。
SQL> select * from orders where shipdate > to_date(‘2013-3-1’,‘yyyy-mm-dd’);
在这里插入图片描述

(11) 查询居住在北京或大连的客户, 将结果按姓名的升序排列。
SQL> select * from customers where address=‘大连’ or address=‘北京’ order by name;
在这里插入图片描述

(12) 列出姓“王” 的作者编写的所有图书信息, 并将结果按姓名降序排序。
SQL> select * from books where author like ‘王%’ order by author;
在这里插入图片描述

(13) 查询“儿童” 类和“烹饪” 类的所有图书。
SQL> select * from books where category=‘儿童’ or category=‘烹饪’;
在这里插入图片描述
(14) 查询书名的第二个字母是“A”、 第四个字母是“N” 的图书信息。
SQL> select * from books where title like ‘_A_N%’;
在这里插入图片描述

(15) 查询电子工业出版社在 2012 年出版的所有“计算机” 类图书的名称。
SQL> select title from books,publishers where books.publisher_id=publishers.publisher_id and name=‘电子工业出版社’ and pubdate>=to_date(‘2012-1-1’,‘YYYY -mm-dd’) and pubdate<=to_date(‘2013-1-1’,‘YYYY-mm-dd’);
在这里插入图片描述

(16) 查询图书名称、 出版社名称、 出版社联系人的名称、 EMAIL 和电话号码。
SQL> select title,name,contact,phone from books,publishers where books.publisher_id=publishers.publisher_id;
在这里插入图片描述

(17)查询当前还没有发货的订单信息及下达订单的用户名, 查询结果按下达订单日期排序。
SQL> select order_id,customers.name,orderdate,shipdate,shipaddress,shipaddress,shipcode from customers,orders where customers.customer_id=orders.customer_id and shipdate<=to_date(‘2013-3-1’,‘yyyy-mm-dd’) order by orderdate;
在这里插入图片描述

(18) 查询已经购买了“计算机” 类图书的所有人的客户号和姓名。
SQL> select customers.customer_id,customers.name from customers,orders,orderitem,books where customers.customer_id=orders.customer_id and orders.order_id=orderitem.r_id and orderitem.isbn=books.isbn and books.category=‘计算机’;
在这里插入图片描述

(19) 查询“王牧” 购买的图书的 ISBN 以及书名。
SQL> select books.isbn,books.title from customers,books,orders,orderitem where customers.customer_id=orders.customer_id and orders.order_id=orderitem.r_id and orderitem.isbn=books.isbn and customers.name=‘王牧’;
在这里插入图片描述

(20) 查询订购图书“Oracle 数据库基础” 的客户将收到什么样的礼品。
SQL> select books.isbn,books.title from customers,books,orders,orderitem where customers.customer_id=orders.customer_id and orders.order_id=orderitem.r_id and orderitem.isbn=books.isbn and books.title=‘Oracle’;
在这里插入图片描述

(21) 确定客户“张扬” 订购的图书的作者。
SQL> select order_id,customers.name,orderdate,shipdate,shipaddress,shipcode from customers,orders where customers.customer_id=orders.customer_id and shipdate<=to_date(‘2013-3-1’,‘yyyy-mm-dd’) order by orderdate;
在这里插入图片描述

(22) 查询 CUSTOMERS 表中的每一个客户所下达的订单数量。
SQL> select * from customers where customer_id not in(select customer_id from orders);
在这里插入图片描述

(23) 查询价格低于同一种类中其它图书的平均价格的图书的信息。
SQL> select category,min(retail),max(retail),avg(retail) from books group by category;
在这里插入图片描述

(24) 查询每个出版社出版图书的平均价格、 最高价格、 最低价格。
SQL> select category,min(retail),max(retail),avg(retail) from books group by category;
在这里插入图片描述

(25) 统计每个客户购买图书的数量及总价钱。
SQL> select orders.order_id,orders.customer_id,orderitem.quantity from orders,orderitem where quantity > (select quantity from orderitem where order_id=1001 and item=1);
在这里插入图片描述

(26) 查询比 1 号订单中图书数量多的其它订单信息。
SQL> select order_id,sum(quantity) from orderitem group by order_id
having sum(quantity) > (select sum(quantity) from orderitem group by order_id
having order_id=1000);
在这里插入图片描述

(27) 查询所以客户及其订购图书的信息。
SQL> select * from customers where customer_id not in(select customer_id from orders);
在这里插入图片描述

(28) 查询没有订购任何图书的客户信息。
SQL> select * from customers where customer_id not in(select customer_id from orders);
在这里插入图片描述

(29) 查询订购金额最高的客户信息。
SQL> select customers.customer_id,customers.name,customers.phone,customers.email,customers.address,customers.code from customers,orders,orderitem where customers.customer_id=orders.customer_id and orders.order_id=orderitem.order_id and orderitem.quantity=(select max(quantity) from orderitem);
在这里插入图片描述

(30) 查询名为“赵敏” 的客户订购图书的订单信息、 订单明细。
SQL> select * from orders,orderitem,customers where orders.customer_id=customers.customer_id and customers.name=‘赵敏’;
在这里插入图片描述

五、实验体会与收获
通过这个实验,我深入理解和掌握SQL语句的使用,提高数据库操作的能力。并且能够熟练地使用SQL语句进行数据库操作。这个实验对于学习数据库管理和SQL语句的应用非常有帮助。能够帮助我更好地理解和掌握SQL语句的使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/206958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里滴滴之后,腾讯视频也崩了!网友追问:下一个是谁?

继滴滴“崩了”一夜后&#xff0c;刚过去不到一周时间&#xff0c;互联网“崩了”连续剧又迎来了续集。 就在刚刚&#xff0c;也是晚间时分&#xff0c;网友曝出腾讯视频崩了&#xff0c;不能追剧了。接着&#xff0c;腾讯视频官方便现身回应&#xff0c;坐实了传闻。 还是同…

JVM虚拟机:如何查看JVM初始和最终的参数?

本文重点 在前面的课程中&#xff0c;我们学习了如何查看当前程序所处于的xx参数&#xff0c;本文再介绍一种如何参看JVM的xx参数&#xff1f; 查看JVM的所有初始化参数 方式一&#xff1a;java -XX:PrintFlagsInitial 方式二&#xff1a;java -XX:PrintFlagsInitial -versio…

【自学篇】Python篇-第一天温度转换

1、规则 输入 华氏度 转换为 摄氏度 输入 摄氏度 转换为 华氏度 转换公式&#xff1a; 华氏度 摄氏度 * 1.8 32 摄氏度 &#xff08;华氏度32 &#xff09;/1.8 2、python代码 TempStr input() if TempStr[-1] in [F,f]:print("转换后的温度值&#xff1a;{:.2f}C&…

浅谈Elasticsearch备份和恢复

Elasticsearch 备份和恢复功能 Elasticsearch 是一个分布式搜索和分析引擎&#xff0c;广泛应用于各种场景&#xff0c;如日志分析、全文搜索和实时数据处理。在使用 Elasticsearch 时&#xff0c;数据的安全和可用性至关重要。本文将详细讲解 Elasticsearch 的备份和恢复功能…

Uncle Maker: (Time)Stamping Out The Competition in Ethereum

目录 笔记后续的研究方向摘要引言贡献攻击的简要概述 Uncle Maker: (Time)Stamping Out The Competition in Ethereum CCS 2023 笔记 本文对以太坊 1 的共识机制进行了攻击&#xff0c;该机制允许矿工获得比诚实同行更高的挖矿奖励。这种名为“Uncle Maker”的攻击操纵区块时间…

mysql数据库中int字段长度,即int(1)和int(10)的区别

1.起因 为什么想起来看这个问题&#xff0c;是最近有同事问mysql的init类型的字段长度的问题&#xff0c;他问int(1)和int(10)是什么意思&#xff0c;是字段长度越大&#xff0c;能存储的数字越大么&#xff1f;咋一问&#xff0c;还有点懵&#xff0c;从惯性思维来看&#xf…

React 中虚拟DOM是什么,为什么需要它?

注意&#xff1a;本节主要讲React中的虚拟DOM&#xff0c;但是虚拟DOM并不是React中特有的内容。 1. React 中虚拟 DOM是什么&#xff1f; 虚拟DOM是对真实DOM的描述&#xff0c;虚拟DOM是JS对象&#xff0c;实际上就是 JSX 通过 babel 转换成 React.createElement()&#xff…

8.3 C++11对Unicode的支持

一、C11对Unicode的支持 在C98中&#xff0c;引入wchar_t对Unicode支持&#xff0c;但是后来由于不同平台下wchar_t的宽度并不相同(8,16,32位)&#xff0c;导致可移植性受到影响。因此从C11开始引入了char16_t、char32_t以及原有的char&#xff0c;分别存储utf16&#xff0c;u…

边缘端部署的典型目标识别网络

边缘端&#xff08;Edge&#xff09;部署深度学习目标检测网络通常涉及到在资源受限的设备上执行模型推断。这里有一些边缘端部署深度学习目标检测网络的常见策略和技术&#xff1a; 轻量化模型&#xff1a; 选择或设计轻量级的深度学习模型&#xff0c;例如MobileNet、Squeez…

来自OpenAI的官方解释:ChatGPT中的GPTs与Assistants API的区别是什么?有什么差异?

本文原文来自DataLearnerAI的官方网站&#xff1a; 来自OpenAI的官方解释&#xff1a;ChatGPT中的GPTs与Assistants API的区别是什么&#xff1f;有什么差异&#xff1f; | 数据学习者官方网站(Datalearner)https://www.datalearner.com/blog/1051701996595465 OpenAI发布的产…

图解算法数据结构-LeetBook-查找01_第一个只出现一次的字符

某套连招动作记作仅由小写字母组成的序列 arr&#xff0c;其中 arr[i] 第 i 个招式的名字。请返回第一个只出现一次的招式名称&#xff0c;如不存在请返回空格。 示例 1&#xff1a; 输入&#xff1a;arr “abbccdeff” 输出&#xff1a;‘a’ 示例 2&#xff1a; 输入&…

3D Web轻量引擎HOOPS Communicator如何实现对大模型的渲染支持?

除了读取轻松外&#xff0c;HOOPS Communicator对超大模型的支持效果也非常好&#xff0c;它可以支持30GB的包含70万个零件和3.5亿个三角面的Catia装配模型&#xff01; 那么它是如何来实现对大模型的支持呢&#xff1f; 我们将从以下几个方面与大家分享&#xff1a;最低帧率…

python核心阶段(五)—— 面向对象三大特性

1.封装 概念&#xff1a;封装主要是指将一些属性和相关方法封装在一个对象中&#xff0c;对外隐藏内部具体实现细节 作用&#xff1a;1&#xff09;使用起来更加方便&#xff0c;类似于提供了一个工具箱 2&#xff09;保证数据的安全&#xff08;设置私有属性&#xff09; 3&am…

高精度加法,减法,乘法,除法(下)(C语言)

前言 上一篇博客我们分享了高精度加法&#xff0c;减法,这一期我将为大家讲解高精度乘法和高精度除法。那让我们开始吧&#xff01; 对加法和减法感兴趣的话就点我 文章目录 1&#xff0c;乘法2&#xff0c;除法3&#xff0c;尾声 1&#xff0c;乘法 让我们想想我们平时做数学…

openpyxl读取Excel文件忽略单元格公式仅读取所显示的值

目录 前言解决方案先不加&#xff1a;看读取信息加上参数&#xff1a;看读取信息完整代码 前言 我们在读取Excel文件时&#xff0c;假如某行或者某列是利用公式生成的&#xff0c;但是我们在利用openpyxl进行读取时&#xff0c;发现读取到的是公式&#xff0c;而非显示的值 解…

Java并行和并发有什么区别?

Java并行和并发有什么区别&#xff1f; 并行和并发是两个在多线程编程中经常使用的概念&#xff0c;它们描述了不同的多任务处理方式。 并发&#xff08;Concurrency&#xff09;&#xff1a; 定义&#xff1a;并发是指多个任务共享资源&#xff0c;但是并不一定同时执行。它强…

pipe函数、SIGCHLD、execvp

pipe函数 以下是一个使用C语言编写的通过管道&#xff08;pipe&#xff09;进行进程间通信的示例代码&#xff1a; #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h>int main() {int pipefd[2];pid_t pid;char b…

[⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记

前言 DPD 数字预失真技术&#xff0c;是一种用于抑制功率放大器非线性失真的方法。 它通过在信号输入功率放大器&#xff08;PA&#xff09;之前插入一个预失真模块&#xff0c;对输入信号进行适当的调制&#xff0c;以抵消功率放大器引起的非线性失真&#xff0c;使功率放大器…

Ubuntu 安装 CUDA 和 cuDNN 详细步骤

我的Linux系统背景&#xff1a; 系统和驱动都已安装。 系统是centos 8。查看自己操作系统的版本信息&#xff1a;cat /etc/issue或者是 cat /etc/lsb-release 用nvidia-smi可以看到显卡驱动和可支持的最高cuda版本&#xff0c;我的是12.2。驱动版本是535.129.03 首先&#…

[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-9阈值选取-机器视觉中应用正态分布和6-sigma

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-数学基础Ch0-9阈值选取-机器视觉中应用正态分布和6-sigma 5M1E——造成产品质量波动的六因素 人 Man Manpower 机器 Machine 材料 Material 方法 Method 测量 Measurment 环境 Envrionment DMAI…