MySQL(B站CodeWithMosh)——2024.10.11(14)
ZZZZZZ目的
ZZZZZZ代码
ZZZZZZ重点
ZZZZZZ操作(非代码,需要自己手动)
8- CASE运算符The CASE Operator_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1UE41147KC?p=62&vd_source=eaeec77dfceb13d96cce76cc299fdd08
- 在sql_store中,根据orders表格,将里面所有的订单旁边都有一个标签”status“,如果订单是今年的,就叫Active(活跃的),如果是去年的,就叫“Last Year”,再以前的的就叫archived(存档),如果是未来的订单,就叫"Future",并输出订单id,订单日期和status
USE sql_store;
SELECT order_id,
CASE
WHEN YEAR(NOW()) = YEAR(order_date) THEN 'Active'
WHEN YEAR(NOW()) -1 = YEAR(order_date) THEN 'Last Year'
WHEN YEAR(NOW()) -1 > YEAR(order_date) THEN 'Archived'
ELSE 'Future'
END AS category
FROM orders
IF函数只允许单一的测试表达式
【练习题】
输出下面这张图片,其中,如果积分超过3000,就是金牌顾客,如果在2000-3000(包含2000和3000)之间,是银牌顾客,如果低于2000,那么是青铜客户
USE sql_store;
SELECT CONCAT(first_name, ' ', last_name) AS customer,
points,
CASE
WHEN points > 3000 THEN 'Gold'
WHEN points BETWEEN 2000 AND 3000 THEN 'Silver'
ELSE 'Bronze'
END AS category
FROM customers
ORDER BY points DESC
这里的第二行WHEN也可以写成WHEN points >= 2000 THEN 'Sliver',因为大于3000的都已经返回Gold了,进行第二行WHEN的只能是小于3000的,所以可以不用写小于3000这个条件
【第八章】1- 创建视图 | Creating Views「视图」_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1UE41147KC?p=63&vd_source=eaeec77dfceb13d96cce76cc299fdd08
- 很多操作的代码其实很相像,所以如果每次都要重新输入代码的话,那肯定会花费很多时间,这里可以用创建视图这个方法来解决
将下面这段代码加入视图中
USE sql_invoicing;
SELECT c.client_id, c.name, SUM(invoice_total) AS total_sales
FROM clients c
JOIN invoices i USING (client_id)
GROUP BY client_id, name
USE sql_invoicing;
CREATE VIEW sales_by_client AS
SELECT c.client_id, c.name, SUM(invoice_total) AS total_sales
FROM clients c
JOIN invoices i USING (client_id)
GROUP BY client_id, name
然后,点击SCHEMAS右上角的刷新按钮,然后在sql_invoicing中的Views可以找到新建的sales_by_client,也可以将这个视图看作是一个表格,可以调用这个表格里面的内容,但是视图并不储存数据,我们的数据存储在了表中,我们只是把视图提供给了一张基础表
【练习题】
在sql_invoicing中,显示每位客户的结余,并建立名为“客户结余client_balance”的视图,这个视图中要出现客户id,客户名字,结余(balance)
USE sql_invoicing;
CREATE VIEW client_balance AS
SELECT i.client_id, c.name, SUM(i.invoice_total - i.payment_total) AS balance
FROM invoices i
JOIN clients c USING (client_id)
GROUP BY client_id
2- 更改或删除视图 | Altering or Dropping Views_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1UE41147KC?p=64&vd_source=eaeec77dfceb13d96cce76cc299fdd08
- DROP VIEW :删除视图
DROP VIEW sales_by_client
名为sales_by_client的视图就被删除了 - CREATE OR REPLACE VIEW ... AS:修改某个视图,如果没有该视图,则创建一个
例如,将sales_by_client修改为计算每个客户的发票总支付
USE sql_invoicing;
CREATE OR REPLACE VIEW sales_by_client AS
SELECT c.client_id, c.name, SUM(payment_total) AS total_payments
FROM clients c
JOIN invoices i USING (client_id)
GROUP BY client_id, name - 点击sales_by_client,然后按ctrl+s即可将该视图保存下来,或者可以点击sales_by_client旁边的工具按钮,即可打开编辑模式,不过里面的代码可能跟原本我们输入的不太一样,这时MySQL系统自己弄的,目的是防止名称冲突,不管管这个
例如,在代码中加入ORDER BY total_sales DESC,然后点击屏幕右下角的Apply,然后再点击Apply,Finsh即可应用
最好还是将视图储存在SQL文件中,并放入源代码控制
3- 可更新视图 | Updatable Views_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1UE41147KC?p=65&vd_source=eaeec77dfceb13d96cce76cc299fdd08
- 如果视图里面没有DISTINCT函数,任何聚合函数(MIN、MAX、SUM、GROUP BY、 HAVING、UNION),那么就可以更新视图,主要用INSERT、UPDATE、DELETE函数来更新视图
- 根据invoices表,创建一个名为invoices_with_balance的视图,视图里面跟invoices一样,但是多了balance这一列,这一列是invoice_total和payment_total的差值,而且只输出右结余的发票
CREATE OR REPLACE VIEW invoices_with_balance AS
SELECT invoice_id, number, client_id, invoice_total, payment_total,
invoice_total - payment_total AS balance,
invoice_date, due_date, payment_date
FROM invoices
WHERE invoice_total - payment_total > 0 - 删除invoices_with_balance中发票id为1的发票
DELETE FROM invoices_with_balance
WHERE invoice_id = 1 - 将invoices_with_balance中二号发票的到期日推迟两天
UPDATE invoices_with_balance
SET due_date = DATE_ADD(due_date, INTERVAL 2 DAY)
WHERE invoice_id = 2 - 只有当视图右所有基础表中要用的列,插入的新发票才会生效,例如,如果视图中没有发票日期列,就不能往视图里插图任何行,因为我们的表不允许插入的日期列为空值
相关文章:
MySQL(B站CodeWithMosh)——2024.10.11(14)
ZZZZZZ目的ZZZZZZ代码ZZZZZZ重点ZZZZZZ操作(非代码,需要自己手动) 8- CASE运算符The CASE Operator_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1UE41147KC?p62&vd_sourceeaeec77dfceb13d96cce76cc299fdd08 在sql_store中&am…...
Transformer的预训练模型
Transformer的预训练模型有很多,其中一些在自然语言处理(NLP)和计算机视觉等领域取得了巨大成功。以下是一些主要的Transformer预训练模型: 1. BERT (Bidirectional Encoder Representations from Transformers) 简介: BERT 是谷歌推出的双向Transformer模型,专注于编码器…...
手撕单例模式
在Go语言中实现单例模式,通常需要确保一个类只有一个实例,并且提供一个全局访问点。Go语言本身没有类的概念,但可以通过结构体和函数来模拟这种行为。下面是一个简单的手撕单例模式的实现示例: 懒汉式(延迟初始化&…...
UE4 材质学习笔记06(布料着色器/体积冰着色器)
一.布料着色器 要编写一个着色器首先是看一些参考图片,我们需要找出一些布料特有的特征,下面是一个棉织物,可以看到布料边缘的纤维可以捕捉光线使得边缘看起来更亮 下面是缎子和丝绸的图片,与棉织物有几乎相反的效果,…...
人工智能学习框架
人工智能学习框架是指用于开发和训练机器学习和深度学习模型的软件库和工具集。这些框架帮助开发者更高效地构建、训练和部署模型,加速人工智能应用的开发进程。 常见的人工智能学习框架 TensorFlow 由Google开发,是一个开源的深度学习框架,…...
GEE 教程:Landsat TOA数据计算地表温度(LST)
目录 简介 函数 expression(expression, map) Arguments: Returns: Image reduceRegion(reducer, geometry, scale, crs, crsTransform, bestEffort, maxPixels, tileScale) Arguments: Returns: Dictionary 代码 结果 简介 地表温度(Land Surface Temperature,LS…...
Web编程---配置Tomcat
文章目录 一、目的二、原理三、过程1. 解压“apache-tomcat-10.0.27-windows-x64.zip”文件到指定文件夹。2. 配置环境变量3.修改编码方式,防止 Tomcat 控制台出现乱码。4.启动 Tmocat5.打开浏览器,地址栏输入 http://localhost:8080 ,如果看…...
物联网5G模块WIFI模块调式记录(Pico)
调试环境 MCU:Pico1(无wifi版)5G模块:EC800K(iot专用4g卡)WIFI模块:ESP01s(Esp8266芯片)、DX-WF24开发环境:MacBook Pro Sonoma 14.5开发工具:Th…...
中国平安蝉联2024“金融业先锋30”第一名 获金融业ESG最高五星评级
2024年10月15日,中央广播电视总台正式对外发布《金融业ESG行动报告(2024)》(以下简称"《报告》"),并公布了"中国ESG上市公司金融业先锋30"榜单。中国平安凭借在绿色金融、普惠金融、养…...
[图解]题目解析:财务人员最有可能成为业务执行者的是
1 00:00:00,420 --> 00:00:04,760 接下来,是第3章自测题第1部分的第8题 2 00:00:05,090 --> 00:00:08,120 单选,针对以下研究对象 3 00:00:08,900 --> 00:00:11,530 财务人员最有可能成为业务执行者的是 4 00:00:12,800 --> 00:00:15,280…...
零基础学大模型——大模型技术学习过程梳理
“学习是一个从围观到宏观,从宏观到微观的一个过程” 学习大模型技术也有几个月的时间了,之前的学习一直是东一榔头,西一棒槌,这学一点那学一点,虽然弄的乱七八糟,但对大模型技术也算有了一个初步的认识。…...
匹配全国地址的正则表达式工具类
正则表达式,匹配全国五级地址工具类,可以直接放在项目中使用~ 1级:国 (可忽略不填) 2级:**省、**自治区、**直辖市、**特别行政区、(四个直辖市可忽略不填) 3级:**市、**…...
Notepad++ 使用技巧
notepad 高级“查找模式” 1)两个换行换一行 选中为 “扩展(\n, \r, \t, \0, \x…)” ,查找目标里面可以写上\r\n\r\n,替换为\r\n 2)移除空行 查找目标:\r\n\r\n,替换为…...
《语音识别芯片选型全攻略》
《语音识别芯片选型全攻略》 一、语音识别芯片性能评估(一)主控芯片性能评估(二)接口需求分析(三)可靠性评估(四)生产工艺考量(五)湿敏等级判断 二、语音识别…...
【MySQL】VARCHAR和CHAR的区别?
目录 区别存储方式最大长度存取效率 使用场景参考 在MySQL中,VARCHAR和CHAR是两种常用的字符串数据类型,它们各自有不同的特点和适用场景。下面我将和大家一起了解这两种数据类型的区别及使用场景。 区别 存储方式 CHAR(N):定长存储&#…...
SQL Server日期查询常用语句
一、以下是SQL 日期截取 & SQL Server日期比较日期查询常用语句 select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),-,), ,),:,) 20040912110608 select COUNVRT(varchar(12) , getdate…...
java地理方位角度计算
计算方位角度 从一个坐标到另一个坐标的方位角度. GIS地理 方位角,正北作为0度基线,顺时针旋转。 /*** GIS方位角度,正北为0度,顺时针旋转** param lat1 坐标1纬度* param lon1 坐标1经度* param lat2 坐标2纬度* param lon2 坐…...
RabbitMQ service is already present - only updating service parameters
Windows下卸载RabbitMQ之后,然后重新注册RabbitMQ服务的时候,报错以下信息: D:\software\rabbitmq-server-4.0.2\rabbitmq_server-4.0.2\sbin>D:\software\rabbitmq-server-4.0.2\rabbitmq_server-4.0.2\sbin\rabbitmq-service.bat install RabbitMQ service is already …...
贵州网站建设提升可见性的策略
贵州网站建设提升可见性的策略 在数字化时代,网站的可见性对企业的成功至关重要。在贵州,随着互联网的发展,越来越多的企业意识到网站建设的重要性。那么,如何有效提升网站的可见性呢?以下是几个关键策略。 **1. 优化…...
SUGAR:用于皮层表面配准的球形超快图注意力框架|文献速递-基于深度学习的医学影像分类,分割与多模态应用
Title 题目 SUGAR: Spherical ultrafast graph attention framework for cortical surface registration SUGAR:用于皮层表面配准的球形超快图注意力框架 01 文献速递介绍 基于表面的分析在解剖和功能神经影像学研究中变得越来越受欢迎(Coalson 等,…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
ubuntu22.04 安装docker 和docker-compose
首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...
