• Oracle实验五Sql语句


    每一句插入都要带commit提交,不然会出现很多报错
    直接从WPS实验报告里复制过来的,可能有中英文标点问题

    实验目的
    (1) 掌握数据的插入(INSERT)、 修改(UPDATE) 和删除(DELETE) 操作。
    (2) 掌握不同类型的数据查询(SELECT) 操作。
    实验要求
    (1) 利用 INSERT 语句向图书销售系统表中插入数据。
    (2) 利用 UPDATE 语句修改图书销售系统表中的数据。
    (3) 利用 DELETE 语句删除图书销售系统表中的数据。
    (4) 利用 SELECT 语句实现对图书销售系统数据的有条件查询、 分组查询、 连接查询、 子查询等。

    (给出实验内容具体描述)
    (1) 以 bs 用户登录 ORCL 数据库, 将下列表中的数据插入到数据库的相应表中。
    在这里插入图片描述

     insert into customers values ('1','王牧','83823422','Wangmu@sina. com','北京','110010');
    
    • 1
    insert into customers values ('2','李青','83824566','Liqing@sina. com','大连','11623');
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    insert into publishers values(1, '电子工业出版社', '张芳','56231234');
    
    • 1
    insert into publishers values(2, '机械工业出版社', '孙翔','89673456');
    
    • 1

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

     insert into books values('978-7-121-18619-8', '文化基础', '王澜',to_date('2010-1-1','yyyy-mm-dd'),2,35,28, '管理');
    
    • 1
    insert into books values('978-7-122-18619-8', 'Oracle', '孙风栋',to_date('2011-2-1','yyyy-mm-dd'),1,40,32, '计算机');
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    insert into orders values (1000,2,to_date('2013-2-1', 'yyyy-mm-dd'),to_date('2013-2-5','yyyy-mm-dd'), '大连','116023');
    
    • 1
    insert into orders values (1001,1,to_date('2013-3-1', 'yyyy-mm-dd'),to_date('2013-3-10','yyyy-mm-dd'), '大连','116023')
    • 1

    在这里插入图片描述
    在这里插入图片描述
    出现问题的都是没有提交成功
    (不好意思id打反了,影响不大……)
    在这里插入图片描述

    insert into orderitem values(1000,1,'978-7-121-18619-8',5);
    
    • 1
    insert into orderitem values(1000,2,'978-7-122-18619-8',20);
    
    • 1
    insert into orderitem values(1001,1,'978-7-121-18619-8',15);
    
    • 1

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

    在这里插入图片描述

    insert into promotion values(1,'签字笔',100,150);
    
    • 1
    insert into promotion values(2,'笔记本',151,300);
    
    • 1
    insert into promotion values(3,'保温杯',301,500);
    
    • 1

    在这里插入图片描述

    (2)将 ISBN 为 978-7-121-18619-8 的图书的零售价格(retail) 修改为 30。

    update books set retail=30 where isbn='978-7-121-18619-8';
    
    • 1

    在这里插入图片描述

    (3)将订单号为 1000 的订单的发货日期修改为“2013-2-2”。

    update orders set shipdate=to_date('2013-2-2','yyyy-mm-dd') where order_id=1005;
    
    • 1

    在这里插入图片描述

    (4) 查询 BOOKS 表中包含的所有图书列表。

    Select * from books;
    
    • 1

    在这里插入图片描述

    (5)列出 BOOKS 表中有图书类型非空的图书书名。

    select title from books where category is not null;
    
    • 1

    在这里插入图片描述

    (6)列出 BOOKS 表中每本书的书名和出版日期。 对 pubdate 字段使用 Publication Date 列标题。

    select title,pubdate "PublicationDate" from books; 
    
    • 1

    在这里插入图片描述

    (7)列出 CUSTOMERS 表中每一个客户的客户号以及他们所在的地址。

    select customer_id,address from customers;
    
    • 1

    在这里插入图片描述

    (8)查询包含各个出版社的名称、联系人及出版社电话号码的信息。其中,联系人的列在显示的结果中重命名为Contact Person。

    select name,contact "ContactPerson",phone from publishers;
    
    • 1

    在这里插入图片描述

    (9)查询下达了订单的每一个客户的客户号。

    select customer_id from orders where order_id is not null;
    
    • 1

    在这里插入图片描述

    (10)查询 2013 年 3 月 1 日之后发货的订单。

    select * from orders where shipdate > to_date('2013-3-1','yyyy-mm-dd');
    
    • 1

    在这里插入图片描述

    (11)查询居住在北京或大连的客户, 将结果按姓名的升序排列

    select * from customers where address='大连' or address='北京' order by name;
    
    • 1

    在这里插入图片描述
    (12) 列出姓“王” 的作者编写的所有图书信息, 并将结果按姓名降序排序。

     select *from books where author like '王%' order by author;
    
    • 1

    在这里插入图片描述

    (13) 查询“儿童” 类和“烹饪” 类的所有图书。

    select *from books where category='儿童' or category='烹饪';
    
    • 1

    在这里插入图片描述

    (14) 查询书名的第二个字母是“A”、 第四个字母是“N” 的图书信息。

    select * from books where title like '_A_N%';
    
    • 1

    在这里插入图片描述
    (15) 查询电子工业出版社在 2011 年出版的所有“计算机” 类图书的名称。

    select title from books where publisher_id=(select publisher_id from publishers where name='电子工 业出版社')and extract(year from pubdate)='2012' and category='计算机';
    
    • 1

    在这里插入图片描述

    (16) 查询图书名称、 出版社名称、 出版社联系人的名称、 EMAIL 和电话号码。

    select title,name,contact,phone from books,publishers
    where books.publisher_id=publishers.publisher_id;
    
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    (17)查询当前还没有发货的订单信息及下达订单的用户名, 查询结果按下达订单日期排序。

    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;
    
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    (18) 查询已经购买了“计算机” 类图书的所有人的客户号和姓名。

    select customers.customer_id,customers.name from customers,orders,orderitem,books where customers.customer_id = orders.customer_id 
    and orders.order_id=orderitem.order_id and
    orderitem.isbn=books.isbn and books.category='计算机';
    
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    (19) 查询“王牧” 购买的图书的 ISBN 以及书名。

    select books.isbn,books.title from books,customers,orders,orderitem where
    customers.customer_id=orders.customer_id and orders.order_id=orderitem.order_id and
    orderitem.isbn=books.isbn and customers.name='王牧';
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    (20)确定客户“张扬” 订购的图书的作者。

    select books.author from books,orderitem,orders,customers 
    where books.isbn=orderitem.isbn
    and orderitem.order_id=orders.order_id and orders.customer_id=customers.customer_id and customers.name='张扬';
    
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    (21) 查询 CUSTOMERS 表中的每一个客户所下达的订单数量。

    select customers.customer_id,customers.name,books.title,orderitem.quantity from
    customers,orders,books,orderitem where
    customers.customer_id=orders.customer_id and
    orders.order_id=orderitem.order_id and orderitem.isbn=books.isbn;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    (22) 查询每个出版社出版图书的平均价格、 最高价格、 最低价格。

    select category,min(retail),max(retail),avg(retail) from books group by category;
    
    
    • 1
    • 2

    在这里插入图片描述

    (23) 统计每个客户购买图书的数量及总价钱。(假设均以零售价出售)

    select customers.name,sum(quantity),sum(quantity*cost) from
    customers,books,orders,orderitem where
    customers.customer_id=orders.customer_id and orders.order_id=orderitem.order_id and
    orderitem.isbn=books.isbn group by customers.name;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    (24) 查询比 1000号订单中图书数量少的其它订单信息。

    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);
    
    
    • 1
    • 2
    • 3
    • 4

    (25) 查询所有客户及其订购图书的信息。

    select * from customers,orders,books,orderitem where 
    customers.customer_id=orders.customer_id and
    orders.order_id=orderitem.order_id and orderitem.isbn=books.isbn;
    
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    (26) 查询没有订购任何图书的客户信息。

    select customers.customer_id from customers,orders,orderitem where 
    customers.customer_id=orders.customer_id
    and orders.order_id=orderitem.order_id and orders.order_id is null;
    
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    (27)查询订购金额最高的客户信息。(假设均以零售价出售)

    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);
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    (28) 查询名为“赵敏” 的客户订购图书的订单信息、 订单明细

    select * from customers,orders where orders.customer_id = customers.customer_id and customers.name='赵敏';
    
    
    • 1
    • 2

    在这里插入图片描述

  • 相关阅读:
    JavaScript基础之七JavaScript函数的使用
    记录LSTM公式、梯度消失现象/解决
    07-JS事件:事件类型、事件对象、事件传播、事件委托
    可燃气体报警器:户外工地安全预警先锋,定期检定保障安全无忧
    BE节点经常挂掉:[IO_ERROR]failed to list /proc/27349/fd/: No such file or directory
    QT中的inherits
    敏捷思维&敏捷管理工具
    计算器(有qt界面)
    科普:String hashCode 方法为什么选择数字 31 作为乘子
    怎么看SSL证书是不是自签名证书?
  • 原文地址:https://blog.csdn.net/weixin_57780589/article/details/127981053