【数据库】简单SQL语句

已知某图书管理数据库有如下表格:
用户表user、部门表dept、角色表role、图书表book、图书分类表book_classify、图书借阅表book_borrow、还书表book_return、借阅预约表book_appoint、图书遗失表book_lose;

用户表user、部门表dept、角色表role、图书表book、图书分类表book_classify、图书借阅表book_borrow、还书表book_return、借阅预约表book_appoint、图书遗失表book_lose;
(1)用户表(user):包含用户编号id、姓名user_name、出生日期birth_date、身份证号id_card、帐号login_name、密码password、手机号mobile、电子邮件email、部门编号dept_id、角色编号role_id信息。
(2)部门表:包含部门编号id、部门名称dept_name、部门创建时间create_date信息。
(3)角色表:包含角色编号id、角色名称role_name、备注信息remark。
(4)图书表:包含图书编号id、书籍名称book_name、作者author、定价price、有无光盘cd、出版社publish、图书分类编号book_classify_id、总数量account、图书ISBN编号isbn、图书创建时间create_time、备注信息remark。
(5)图书分类表:包含编号id、图书分类名称book_classify_name、父分类编号father_id、创建时间create_time。
(6)图书借阅表:包含编号id、图书编号book_id、用户编号user_id、借阅时间borrow_time、归还时间return_time、创建图书借阅状态create_time、备注信息remark。
(7)图书还书表:包含编号id、图书借阅编号borrow_id、归还时间return_time、创建时间create_time、备注信息remark。
(8)借阅预约表:包含预约流水编号id、图书编号book_id、用户编号user_id、预约时间appoint_time、创建时间create_time、备注信息remark。
(9)图书遗失表:包含遗失流水编号id、图书借阅流水编号borrow_id、创建时间create_time、备注信息remark。

对于图书管理数据库,请写出正确的SQL语句:
(1)查询作者为“刘刚”的图书的数量。

SELECT COUNT(*) AS 数量
FROM `book`
WHERE `author` = '刘刚';

(2)查询出版单位为人民邮电出版社的图书明细。

SELECT *
FROM `book`
WHERE `publish`='人民邮电出版社';

(3)检索2024年3月的借阅图书的读者人数。

SELECT COUNT( DISTINCT `user_id`)
FROM `book_borrow`
WHERE YEAR(`borrow_time`)= '2024' AND MONTH(`borrow_time`)= '3';

(4)图书管理系统里需要新增一本刚采购的医药方面的书籍:书名为《疑难杂病临证手册(第2版)》、作者为余孟学、定价为158元、出版社为河南科技出版社、ISBN编号为9787534989230。要把它添加到图书表book里,图书分类选择“R 医药、卫生”。

INSERT INTO`book`VALUES
('5','疑难杂病临证手册(第2版)','余孟学','158','1','河南科技出版社','4','1000','9787534989230',NOW(),NULL);

(5)查询用户小影的借书记录,包括用户姓名、借阅图书名称、出版社、借书时间、归还时间。

SELECT u.user_name,b.book_name,b.publish,w.borrow_time,w.return_time
FROM USER u, book b, book_borrow w
WHERE w.book_id = b.id AND w.user_id = u.id AND u.user_name = '小影';

(6)针对用户表user、图书表book、图书借阅表book_borrow建立一个用户借阅图书信息查询视图user_book_borrow_view,查询用户编号、登录名称、姓名、图书名称、出版社、借阅时间、归还时间。

CREATE OR REPLACE VIEW user_book_borrow_view AS
SELECT u.id,u.login_name,u.user_name,b.book_name,b.publish,w.borrow_time,w.return_time
FROM USER u, book b, book_borrow w
WHERE w.book_id = b.id AND w.user_id = u.id ;

(7)按book_name字段建立图书索引。索引名为:booknameindex;

CREATE INDEX booknameindex ON `book`(`book_name`);

(8)按publish,book_name字段建立图书表复合索引。索引名为:bookpublishnameindex ;

CREATE INDEX bookpublishnameindex ON `book`(`publish`,`book_name`);

(9)更新小刚用户的部门为运维部。

UPDATE `user` 
SET `dept_id`= (SELECT `id` FROM `dept` WHERE `dept_name`='运维部')
WHERE `user_name`='小刚';

(10)删除图书名称包含:“经济学”的所有图书

delete from `book` where `book_name` like '%经济学%';

(11)删除用户小影的全部借书记录。

DELETE FROM `book_borrow` WHERE`user_id`=(SELECT `id` FROM `user` WHERE `user_name`='小影');

(12)查询所有用户丢失的图书名称。

SELECT `user_name`,`book_name`
FROM `book`,`book_borrow`,`user`,`book_lose`
WHERE `book_lose`.`borrow_id`=`book_borrow`.`id` AND `book_borrow`.`user_id`=`user`.id AND `book_borrow`.`book_id`=`book`.`id`;

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

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

相关文章

yum 卸载 MySQL

在 CentOS 上使用 yum 卸载 MySQL 时,你需要确保你卸载的是整个 MySQL 服务器和相关组件,而不仅仅是客户端或库。以下是如何使用 yum 卸载 MySQL 的步骤: 首先,确定你已经安装了哪些与 MySQL 相关的包。你可以使用以下命令列出所有…

C语言 变量的作用域

今天 我们来说变量的作用域和存储类型 每种事物 都有自己作用的范围限制 例如 汽车只能在路上跑 轮船只能在海洋 飞机只能通行于天空 函数的参数 也只有在函数被调用过程中分配内存资源 函数执行结束 空间也会被立即释放 这也说明了 行参变量只有在函数内才有效 离开了该函数 …

【Linux】项目自动化构建工具make/makefile的简单使用

使用步骤 1) 编写 创建 makefile 文件 vim makefile用 vim 打开名为 makefile 的文件,存在该文件则打开编辑,不存在则创建并打开.在 makefile 文件中编写需要编译的文件 test:test.cppg -o test test.cpp第一行: 冒号左侧为编译后的可执行文件名,可以随便取. 冒号右侧为依赖…

封装一个可以最小化和展开的弹窗组件

gl-dialog 大概思路: 在弹窗组件内部引入gl-dialog-collapse,这个组件主要用于存储已经被最小化的弹窗(基础数据) 弹窗内部的数据如何在父组件拿到是通过作用域插槽来实现的 gl-dialog接收一个tempData这个数据会在内部被记录下来…

salmon使用体验

文章目录 salmon转录本定量brief模式一:fastq作为输入文件需要特别注意得地方 模式二: bam文件作为输入 salmon转录本定量 brief 第一点是,通常说的转录组分析其中有一项是转录本定量,这是一个很trick的说话,说成定量…

代码随想录算法训练营第四十二天| 01背包问题(二维、一维)、416.分割等和子集

系列文章目录 目录 系列文章目录动态规划:01背包理论基础①二维数组②一维数组(滚动数组) 416. 分割等和子集①回溯法(超时)②动态规划(01背包)未剪枝版剪枝版 动态规划:01背包理论基…

基于Vue3与ElementUI Plus酷企秀可视化设计器中的创新应用

一、引言 随着科技的快速发展,前端技术已经从简单的网页呈现进化到了复杂的数据可视化、互动体验和跨平台应用的构建。酷企秀可视化设计器作为一个集成了多种前端技术的创新平台,不仅为企业提供了全方位的数字化展示解决方案,还在多个行业领…

Java实现NFS文件上传、下载和读取功能的工具类

Java实现NFS文件上传、下载和读取功能的工具类 引言:代码示例一、准备工作二、工具类设计与核心方法三、异常处理与性能优化四、总结 引言: NFS(Network File System)广泛应用于分布式环境的情况下,这里介绍使用Java工…

SRC上分秘诀+实战挖掘+挖洞技巧+新手上路+详细讲解

SRC马上到来 可能有些好兄弟们还没有头绪 只会做一些靶场 并没有什么实战经验 所以这篇文章给大家分享一下我挖洞2个月的经验分享 适合新手上路 如何找站? 谷歌搜索 谷歌搜索 谷歌搜索 SQL注入XSS所有漏洞 inurl:.php?idxx 公司inurl:.asp?idxx 公司inurl:.jsp?…

【考研数学】强化《660》和《880》先做哪个?

880和660一般在强化阶段做 这两本习题各自的特点是: 660题是专门训练客观题的,难度较大,对于基础知识点的考察比较深入,如果你的基础不好,去做660题很有可能被打击到,这个时候不要担心,很正常&a…

「AIGC」Agent AI智能体的未来:技术、伦理与经济的交汇点

Agent AI智能体,作为人工智能领域的前沿技术,正逐渐渗透到社会的各个层面。随着技术的不断进步,Agent AI智能体在提高效率、促进创新、甚至重塑社会结构方面展现出巨大潜力。然而,这也带来了一系列挑战,包括技术发展、…

cf240-B-Mashmokh and ACM DP

https://codeforces.com/contest/414/problem/B 题意: 在[1,n]范围内 构造出一个长度为k的数组 使得a[i1]%a[i]0 求出数组的个数%1e97 思考: 在一开始,会去想这是一道数学题,似乎得出某个式子便可以得出结果,因此就开始一个一个的去构造尝试,当构造了几个样例后,也许会发现…

Mysql基础篇(一)Mysql概述

目录 基本概念 数据库(DataBase,DB) 数据库的定义 数据库的分类 数据库管理系统(DataBase Management System,DBMS) SQL(Structured Query Language) Mysql Mysql数据模型 下载安装Mysql 基本概念 数据库(DataBase,DB) 数据库的定义 按照数据结构来组织、存储和管理数…

Springboot整合Minio,2024版教程

Springboot整合Minio,2024版教程 介绍安装方式代码pomymlconfigMinioService 推荐文章 介绍 CSDN里面找资料真的是垃圾堆里刨食吃。优质作者和内容非常少,最近还出现了评论下方打广告的,粉丝上w,文章内容质量主打一个抄袭&#xf…

java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条

今天遇到一个问题 系统线上问题,经常出现这样的问题,刚重启系统时不报错了,可是运行一段时间又会出现。sql已经写了limit 1,mybatis的debug日志也返回total为1,可是却报错返回了1805条数据 乍一看,感觉太不…

《21天学通C++》(第十四章) 宏和模板介绍(2)

相较于宏&#xff0c;C更推荐使用模板编程&#xff0c;因为它们提供了更好的类型安全、更清晰的语法和更易于调试的代码 1.模板函数 语法 template <typename T> void function(T param) {// 函数体&#xff0c;使用T作为类型参数 }例子 #include <iostream> us…

汽车之家,如何在“以旧换新”浪潮中大展拳脚?

北京车展刚刚落幕&#xff0c;两重利好正主导汽车市场持续升温&#xff1a;新能源渗透率首破50%&#xff0c;以及以旧换新详细政策进入落地期。 图源&#xff1a;中国政府网 在政策的有力指引下&#xff0c;汽车产业链的各个环节正经历着一场深刻的“连锁反应”。在以旧换新的…

Python运维之多线程!!

一、多线程 二、多线程编程之threading模块 2.1、使用threading进行多线程操作有两种方法&#xff1a; 三、多线程同步之Lock&#xff08;互斥锁&#xff09; 四、多线程同步之Semaphore&#xff08;信号量&#xff09; 五、多线程同步之Condition 六、多线程同步之Event…

CSS和JavaScript

CSS 在html中引入CSS 我们需要先在该项目先建立css文件 html引入CSS,在<head></head>中添加<link>标签 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" co…

mac 本地使用docker 运行es,kibana

1.下载 m芯片一些版本不支持.踩过坑.翻看官网才知道只有部分镜像支持m芯片 https://hub.docker.com/添加链接描述 docker pull elasticsearch:7.17.21 docker pull kibana:7.17.21镜像已经下载下来了 2.创建文件映射-挂载 /Users/lin/dev/dockerMsg 其中lin是自己的用户名…