数据库实验四 运算符 实验八 视图

该文提供了一系列SQL查询示例,包括检查null值、使用between和in运算符、like运算符进行模糊匹配,以及逻辑运算符的运用。此外,还介绍了如何创建、插入、删除和更新视图中的记录,展示了数据库管理中的关键操作。
摘要由CSDN通过智能技术生成

 

第1关:null值的判断

任务要求

第一题 查询借阅(borrow)数据表中没有归还的记录的所有字段的值。 当还书日期(hsrq)为null值,表示图书尚未归还。

use library;
#代码开始
SELECT * FROM borrow WHERE hsrq IS NULL;
#代码结束

第2关:between and和in运算

任务要求

第一题 查询高于图书的售价(sj)大于等于10并且小于等于20的的图书的条形码(txm)、书名(sm)和售价(sj)。 使用between and 第二题 查询图书的出版社(cbs)不是上海古籍出版社且不是中华书局的图书的条形码(txm)、书名(sm)和出版社(cbs)。 使用in

use library
 #代码开始
 #答案一
SELECT txm, sm, sj FROM book WHERE sj BETWEEN 10 AND 20;
 #答案二
SELECT txm, sm, cbs FROM book WHERE cbs NOT IN ('上海古籍出版社', '中华书局');
 #代码结束

第3关:like运算符

任务要求

第一问 查询图书的书名(sm)中包含诗的图书的条形码(txm)、书名(sm) 第二问 查询图书的书名(sm)中以诗开头的图书的条形码(txm)、书名(sm) 使用like

use library;
#代码开始
#答案1
SELECT txm, sm FROM book WHERE sm LIKE '%诗%';
#答案2
SELECT txm, sm FROM book WHERE sm LIKE '诗%';

 #代码结束

第4关:逻辑运算符

任务要求

第一问 查询读者(reader)数据表中所有男性(xb)身份(sf)是研究生的记录的所有字段的信息 第二问 查询读者(reader)数据表中所有男性(xb)身份(sf)是研究生和工作人员的所有字段的信息

 use library;
#代码开始
#答案1
SELECT * FROM reader WHERE xb='男' AND sf='研究生';
#答案2
SELECT * FROM reader WHERE xb='男' AND sf IN ('研究生', '工作人员');
 #代码结束

视图

第1关:建立基于单表的视图,在视图中插入、删除和修改记录

任务描述

本关任务: 第一题 建立视图ckyg,查询gzry数据表中部门bm为仓库的员工的所有字段的信息 第二题 在视图ckyg中,插入gyh雇员号为019,姓名gyxm为李盛,部门bm为仓库的数据。 第三题 在视图ckyg中,删除姓名为赵国庆的数据 第四题 在视图ckyg中,将王文武的电话改为13319660678

use sale;
#代码开始
#题目1
CREATE VIEW ckyg AS
SELECT * FROM gzry
WHERE bm='仓库';
#题目2
INSERT INTO ckyg(gyh, gyxm, bm) VALUES('019', '李盛', '仓库');

#题目3
DELETE FROM ckyg WHERE gyxm = '赵国庆';


#题目4
UPDATE ckyg
SET dh = '13319660678'
WHERE gyxm = '王文武';
 
 #代码结束
 select * from gzry;

第2关:根据多个数据表建立视图

任务要求

打开sale数据库 建立xsdxx视图,包含销售单号xsdh、雇员号gyh、雇员姓名gyxm、会员号hyh、会员姓名name、销售日期xsrq、实际付款sjfk字段。

use sale;
#代码开始
create view xsdxx as select xsd.xsdh,xsd.gyh,gzry.gyxm,xsd.hyh,gk.name,xsd.xsrq,xsd.sjfk
from xsd
left join gzry on  gzry.gyh=xsd.gyh
left join gk on  gk.hyh=xsd.hyh;
#代码结束
select * from xsdxx;

第3关:根据视图建立视图

任务描述

任务: 根据xsdxx视图建立视图

为了完成本关任务,你需要掌握: 第一题: 根据xsdxx视图建立视图xsdhytj,显示会员号hyh,姓名name和实际付款sjfk的合计金额(命名为hjje) 按合计金额的降序排列

第二题: 根据xsdxx视图建立视图xsdgytj,显示雇员号gyh,姓名xm和实际付款sjfk的合计金额(命名为hjje) 按合计金额的降序排列

use sale
#代码开始
#第一题
CREATE VIEW hytjcx AS
SELECT hyh, name, SUM(sjfk) AS hjje
FROM xsdxx
GROUP BY hyh, name
ORDER BY hjje DESC;
#第二题
CREATE VIEW gytjcx AS
SELECT gyh, gyxm, SUM(sjfk) AS hjje
FROM xsdxx
GROUP BY gyh
ORDER BY hjje DESC;
#代码结束
select * from hytjcx;
select * from gytjcx;

第4关:更新视图

任务要求

在视图xsdxx中,将工作人员gyxm王强的销售日期xsrq2015-6-3的会员名name刘海东的订单的实际付款sjfk设置为800 观察视图xsdgytj和xsdhytj的变化

use sale;
#代码开始
UPDATE xsdxx
SET sjfk = 800
WHERE gyxm = '王强' AND xsrq = '2015-6-3' AND name = '刘海东';
#代码结束
select * from xsdhytj;
select * from xsdgytj;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马龙强_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值