数据库实验三 数据查询二
任务描述
本关任务:查询来自借阅、图书、读者数据表的数据 为了完成本关任务,你需要掌握:
如何多表查询
相关知识
查询多个数据表
在实际应用中,查询经常会涉及到几个数据表。 基于多个相关联的数据表进行的查询称为连接查询。
命令格式: select * from 数据表 from 数据表1,数据表2 where 连接条件
对于连接查询,在FROM短语后多个数据表的名称之间用逗号隔开,在WHERE短语中须指定数据表之间进行连接的条件 在连接查询中引用两个表的公共字段时,必须在字段前添加表名作为前缀,否则系统会提示出错。 对于只在一个数据表中出现的字段,则无需指定前缀。
第二种方法 from 数据表1 join 数据表2 on 连接条件 数据表1和数据表2为需要连接的数据表 on后面是连接的条件 通常是关键字段的值相同
三个表的查询 如果要实现三个表的查询,可以 From 数据表1 ,数据表2 ,数据表3 where 连接条件1 and 连接条件2
任务要求
打开library数据库 第一题 根据读者(reader)和借阅(borrow)数据表,查询王颖珊的借阅记录,包括条形码txm、借阅日期jyrq、还书日期hsrq 第二题 根据图书(book)和借阅(borrow)数据表,查询李白全集被借阅的情况:包括读者证号dzzh、借阅日期jyrq、还书日期hsrq 第三题 根据读者(reader)、图书(book)和借阅(borrow)数据表查询没有被归还的借阅信息:包括读者证号dzzh、姓名xm、电话dhhm、条形码txm、书名sm、借阅日期jyrq 提示:通过isnull(表达式)可以判断表达式是否NULL值
开始你的任务吧,祝你成功!
use library;
#第一题select txm,jyrq,hsrq from borrow join reader on reader.dzzh=borrow.dzzh where xm="王颖珊";#第二题select dzzh,jyrq,hsrq from borrow join book on borrow.txm=book.txm where sm="李白全集";#第三题select reader.dzzh,xm,dhhm,book.txm,sm,jyrq from book join borrow on borrow.txm=book.txm join reader on borrow.dzzh=reader.dzzh where ISNULL(hsrq);#代码结束
任务描述
任务: 根据数据表图书、读者和借阅,实现多表查询及对查询分组统计
为了完成本关任务,你需要掌握: 第一题: 统计每本书借阅的次数,显示书名和借阅次数(借阅次数命名为jycs),按借阅次数降序排列,借阅次数相同的按书名降序排列 (提示:borrow数据表的一条数据对应一次借阅) 第二题: 统计借阅次数在2次以上的图书的借阅的次数,显示书名和借阅次数,按借阅次数降序排列,借阅次数相同的按书名降序排列 第三题 统计每个出版社的图书的借阅次数,显示出版社的名称和借阅次数,按借阅次数降序排列,借阅次数相同的按出版社降序排列 第四题: 统计每位读者借阅的次数,显示姓名和借阅次数,按借阅次数降序排列,借阅次数相同的按姓名降序排列 第五题: 统计研究生读者借阅的次数,显示姓名和借阅次数,按借阅次数降序排列,借阅次数相同的按姓名降序排列 注意:order by <表达式1>,<表达式2> 表示首先按第一个表达式的值排序,第一个表达式的值相同的再按第二个表达式的值排序
use library;#代码开始#第一题
select sm,count(sm)as jycs from borrow left join book on book.txm=borrow.txm
group by sm
order by jycs desc,sm desc;#第二题
select sm,count(sm) as jycs from borrow left join book on book.txm=borrow.txm
group by sm having(jycs>=2)
order by jycs desc,sm desc;#第三题
select cbs,count(cbs) as jycs from borrow left join book on book.txm=borrow.txm
group by cbs
order by jycs desc,cbs desc;#第四题
select xm,count(xm)jycs from borrow left join reader on borrow.dzzh=reader.dzzh
group by xm
order by jycs desc,xm desc;#第五题select xm,count(xm) as jycs from borrow left join reader on borrow.dzzh=reader.dzzh
where sf='研究生'
group by xm
order by jycs desc,xm desc;#代码结束
任务描述
本关任务:根据图书数据表进行子查询
相关知识
为了完成本关任务,你需要掌握:子查询
子查询
在SELECT语句中,一个查询语句完全嵌套在另一个查询语句的WHERE或HAVING的条件短语中,称为子查询或嵌套查询。 通常把条件短语中的查询成为子查询,父查询则使用子查询的查询结果作为查询条件。
任务要求
第一题 查询与李白全集同一个出版社的图书的书名(不包括李白全集) 第二题 查询高于图书的平均售价(sj)的图书的书名和售价 第三题 查询售价最高的图书的条形码、书名和售价 第四题 查询售价最低的图书的条形码、书名和售价
开始你的任务吧,祝你成功!
use library;
#代码开始
#答案1
select sm from book where cbs="上海古籍出版社" and sm!="李白全集";
#答案2
select sm,sj from book where sj>(select avg(sj) from book);
#答案2
select txm,sm,sj from book where sj=(select max(sj) from book);#答案3
select txm,sm,sj from book where sj=(select min(sj) from book);#代码结束
任务描述
本关任务: 第一题 查询曾经借过图书的读者的读者证号和姓名 第二题 查询曾经没有被借阅的图书的条形码和书名 第三题 查询与孙思旺借过相同图书的读者的读者证号和姓名,按读者证号升序排列 第四题 查询借阅过李白全集的读者所借过的其他图书的书名 按书名升序排列
开始你的任务吧,祝你成功!
use library;
#代码开始
#题目1
select dzzh,xm from reader where reader.dzzh in (select dzzh from borrow);
#题目2
select txm,sm from book where book.txm not in (select txm from borrow);#题目3
select dzzh,xm from reader where reader.dzzh in (select dzzh from borrow
where txm in (select txm from borrow
where borrow.dzzh=(select dzzh from reader
where xm='孙思旺')))
and dzzh!='006' order by dzzh asc;#题目4select sm from book where book.txm in (select txm from borrow
where borrow.dzzh in (select dzzh from borrow
where borrow.txm=(select txm from book where sm="李白全集")))
and sm!="李白全集" order by sm asc;#代码结束
相关文章:
数据库实验三 数据查询二
任务描述 本关任务:查询来自借阅、图书、读者数据表的数据 为了完成本关任务,你需要掌握: 如何多表查询 相关知识 查询多个数据表 在实际应用中,查询经常会涉及到几个数据表。 基于多个相关联的数据表进行的查询称为连接查询…...
论文笔记与实战:对比学习方法MOCO
目录 1. 什么是MOCO2. MOCO是干吗用的3. MOCO的工作原理3.1 一些概念1. 无监督与有监督的区别2. 什么是对比学习3. 动量是什么 3.2 MOCO工作原理1. 字典查找2. 如何构建一个好的字典3. 工作流程 3.3 (伪)代码分析 4. 其他一些问题5. MOCO v2和MOCO v35.1…...
大数据Doris(三十八):Spark Load 导入Hive数据
文章目录 Spark Load 导入Hive数据 一、Spark Load导入Hive非分区表数据 1、在node3hive客户端,准备向Hive表加载的数据 2、启动Hive,在Hive客户端创建Hive表并加载数据 3、在Doris中创建Hive外部表 4、创建Doris表 5、创建Spark Load导入任务 6…...
【Prometheus】mysqld_exporter采集+Grafana出图+AlertManager预警
前提环境:已经安装和配置好prometheus server 所有组件对应的版本: prometheus-2.44.0 mysqld_exporter-0.14.0 grafana-enterprise-9.1.2-1.x86_64.rpm alertmanager-0.25.0 prometheus-webhook-dingtalk-2.1.0 简介 mysql_exporter是用来收集MysQL或…...
softmax 函数
https://blog.csdn.net/m0_37769093/article/details/107732606 softmax 函数如下所示: y i exp ( x i ) ∑ j 1 n exp ( x j ) y_{i} \frac{\exp(x_{i})}{\sum_{j1}^{n}{\exp(x_j)}} yi∑j1nexp(xj)exp(xi) softmax求导如下: i j…...
【SpringMVC】拦截器和过滤器之间的区别
过滤器 拦截器 调用机制 基于函数的回调 基于反射机制(动态代理) 依赖关系 依赖Servlet容器 不依赖Servlet容器 作用范围 对几乎所有的请求起作用 只对action请求起作用 访问范围 不能访问action上下文、栈 可以访问action上下文、栈 action生命周期 中的调用次数…...
springboot第25集:实体类定义规则
PO:持久化对象,一个PO对象对应一张表里面的一条记录。全部对应 VO:View视图对象,用来在页面中展示数据的,页面需要哪些字段属性就添加哪些,查询出来之后赋值操作比PO对象要简单。所以提高性能。 DTO&#x…...
【python】—— python的基本介绍并附安装教程
前言: 今天,我将给大家讲解关于python的基本知识,让大家对其有个基本的认识并且附上相应的安装教程以供大家参考。接下来,我们正式进入今天的文章!!! 目录 前言 (一)P…...
浏览器跨域请求
跨域是浏览器的一种同源策略,所以该概念只存在于通过浏览器访问服务里。 如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现 请求的url地址,必须与浏览器上的…...
什么,你还在用 momentJs 处理相对时间
我想,下面这段代码,你是不是在开发中常常这样使用来计算距离现在过去了多长时间: import moment from moment // 61k (gzipped:19.k) function Relative(props) {const timeString moment(props.date).fromNow()return <>{timeString…...
三维模型 工程图
飞机 Crankshaft飞机发动机手动冲压机包装成型机械-充填机械设备10数控等离子切割机床铜线缠绕机机床-磨床08机床-磨床04(附工程图)机床-车床数字纤维缠绕机机械臂液压钳机床-车床06挤出机机械手-09机械手模型库六柴油发动机中央空调机柜空调机机床-钻床三维设计电脑服务器机箱…...
我用ChatGPT写2023高考语文作文(二):全国乙卷
2023年 全国乙卷 适用地区:河南、江西、甘肃、青海、内蒙古、宁夏、新疆、陕西 吹灭别人的灯,并不会让自己更加光明;阻挡别人的路,也不会让自己行得更远。 “一花独放不是春,百花齐放春满园。”如果世界上只有一种花朵…...
java版本工程项目管理系统平台源码,助力工程企业实现数字化管理
鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管…...
代码随想录第55天
1.判断子序列: 动态规划五部曲分析如下: 确定dp数组(dp table)以及下标的含义 dp[i][j] 表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度为dp[i][j]。 注意这里是判断s是否…...
算法设计与分析(填空专题)
文章目录 填空题填空题 设有一稀疏图 G,则 G 采用 邻接表 存储较省空间。 算法的时间复杂性是指算法中 元运算 执行次数。 分治法的基本思想是将一个规模为 n 的问题分解为与原问题 相同 的 k 个规模较小且互相独立的子问题。 贪心算法中每次做出的贪心选择都是 当前的 最优选…...
Ubuntu22.04 K8s1.27.2
Ubuntu22.04 && K8s1.27.2 1. 服务器配置 IpServerMEM192.168.56.11k8smaster6G192.168.56.16k8snode14G192.168.56.17k8snode24G 2. 获取源 $ sudo apt-get update $ sudo apt-get install -y apt-transport-https ca-certificates curl# packages.cloud.google.c…...
卡尔曼滤波与组合导航原理(十二)扩展卡尔曼滤波:EKF、二阶EKF、迭代EKF
文章目录 一、多元向量的泰勒级数展开二、扩展Kalman滤波三、二阶滤波四、迭代EKF滤波 一、多元向量的泰勒级数展开 { y 1 f 1 ( X ) f 1 ( x 1 , x 2 , ⋯ x n ) y 2 f 2 ( X ) f 2 ( x 1 , x 2 , ⋯ x n ) ⋮ y m f m ( X ) f m ( x 1 , x 2 , ⋯ x n ) \left\{\begin{…...
基于蒙特卡洛模拟法的电动汽车充电负荷研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
自学黑客【网络安全】,一般人我劝你还是算了吧
一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习 我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而…...
编程中的心理策略:如何从错误中学习并实现自我成长
在日复一日的工作中,我们免不了会产生一些失误,会因此感到沮丧和失望。但如何正确地对待和处理这些失误才是最重要的,它直接影响到我们的工作表现和个人成长。 一、面对失误而带来的指责和沮丧的策略 在程序设计领域,我们经常面临…...
Blender 3MF插件:5分钟掌握3D打印文件格式转换的完整方案
Blender 3MF插件:5分钟掌握3D打印文件格式转换的完整方案 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 你是否曾经在Blender中精心设计了完美的3D模型&…...
OpenCV Aruco码检测全流程拆解:不只是二维码,更是计算机视觉的“标尺”
OpenCV ArUco码检测全流程拆解:从原理到工程优化的视觉标尺实践 在计算机视觉领域,标记检测一直是连接虚拟信息与现实世界的重要桥梁。当我们谈论ArUco码时,很多人首先联想到的是其作为二维码近亲的身份,但它的真正价值远不止于此…...
基于Vue3的一站式AI服务聚合平台部署与二次开发实战指南
1. 项目概述与核心价值最近在折腾AI应用,发现很多朋友想自己搞个ChatGPT或者Midjourney的网站来用,甚至是想做个副业,但往往卡在几个关键环节:一是API的对接和费用管理太麻烦,二是用户系统和支付分销这些基础功能从零搭…...
终极Zotero插件管理指南:如何一键安装数百个学术研究工具
终极Zotero插件管理指南:如何一键安装数百个学术研究工具 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing, installing, and reviewing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-addons …...
开发AI应用时如何借助Taotoken进行多模型选型与测试
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 开发AI应用时如何借助Taotoken进行多模型选型与测试 在开发一个具体的AI应用功能时,选择合适的模型是影响最终效果与成…...
终极指南:八大网盘直链下载助手完整使用教程,告别限速烦恼
终极指南:八大网盘直链下载助手完整使用教程,告别限速烦恼 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国…...
Flutter 状态管理架构设计完全指南
Flutter 状态管理架构设计完全指南 引言 状态管理是 Flutter 应用开发的核心问题之一。一个好的状态管理架构能够使代码更加清晰、可维护和可测试。本文将深入探讨 Flutter 状态管理的各种架构模式和最佳实践。 状态管理概述 Flutter 中的状态可以分为以下几类: 局部…...
AI工具搭建自动化视频生成输出审核
# AI工具搭建视频生成中的数据脱敏:一个Python开发者的实战笔记 做视频自动生成这件事,碰到的第一个坎往往不是技术选型,而是数据安全。特别是当视频里要展示真实用户数据的时候,总不能把用户的姓名、手机号、住址这些敏感信息直接…...
【通信】D2D通信中基于Qlearning强化学习算法的联合资源分配与功率控制算法matlab仿真
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 dz…...
Java——继承实现的基本原理
继承实现的基本原理1、示例2、类加载过程3、对象创建的过程4、方法调用的过程5、变量访问的过程6、继承是把双刃剑6.1、继承破坏封装6.2、封装是如何被破坏的6.3、继承没有反映is-a关系6.4、如何应对继承的双面性1、示例 Base类: public class Base {public stati…...
