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.pswp.cn/news/206958.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/206958.shtml
英文地址,請注明出處:http://en.pswp.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…