MySQL【知识改变命运】05

news2024/11/25 11:02:00

在这里插入图片描述

1:where的基本用法练习(比较运算符)

基本操作:查询英语<60的同学
在这里插入图片描述
如果english为NULL,会自动过滤掉,NULL比较特殊
在这里插入图片描述

查询语⽂成绩⾼于英语成绩的同学
在这里插入图片描述
这个过程:先读取表中每行记录,然后把where 条件进行筛选,然后把符合条件的记录放在临时表中,最终返回给客户端;

总分在 200 分以下的同学
在这里插入图片描述我们都知道可以给列改名
在这里插入图片描述
那如果我们用修改后的别名作为条件可以使用吗?
在这里插入图片描述
where语句是不能用别名当作过滤条件:
因为第一步:from 找到这个表
第二步:定位符合条件的数据行 where
第三步:根据过滤后的结果集中抽取要显示的列,表达式
所有在执行where字句时,select 后指定的别名还没有定义;

1.1 :逻辑运算符

运算符操作效果
AND多个条件必须都为 TRUE(1),结果才是 TRUE(1)
OR有一个条件为TURE(1),结果才是TRUE(1)
NOT条件为 TRUE(1),结果为 FALSE(0)

查询语⽂成绩⼤于80分且英语成绩⼤于80分的同学
在这里插入图片描述
查询语⽂成绩⼤于80分或英语成绩⼤于80分的同学
在这里插入图片描述
在这里插入图片描述
NULL值特殊,会自动过滤

AND和OR 的优先级
在这里插入图片描述

得出结论:NOT>AND>OR
范围查询
语⽂成绩在 [80, 90] 分的同学及语⽂成绩
在这里插入图片描述
在这里插入图片描述
这两种写法其实都是一个意思

数学成绩是 78 或者 79 或者 98 或者 99 分的同学及数学成绩
在这里插入图片描述
在这里插入图片描述
模糊查询
在这里插入图片描述
在这里插入图片描述
NULL的查询
查看语文成绩为NULL
在这里插入图片描述

在这里插入图片描述
查看语文成绩不为NULL的记录
在这里插入图片描述
NULL与其他值运算运算结果还是NULL
在这里插入图片描述
总结注意:
•WHERE条件中可以使⽤表达式,但不能使⽤别名
• AND的优先级⾼于OR,在同时使⽤时,建议使⽤⼩括号()包裹优先执⾏的部分
•过滤NULL时不要使⽤等于号(=)与不等于号(!= , <>)
• NULL与任何值运算结果都为NULL

2:Order by 排序

语法:

-- ASC 为升序(从⼩到⼤)
-- DESC 为降序(从⼤到⼩)
-- 默认为 ASC
SELECT ... FROM table_name [WHERE ...] ORDER BY {col_name | expr } [ASC | 
DESC], ... ;

按数学成绩从低到⾼排序(升序)
在这里插入图片描述
如果值为NULL呢?
在这里插入图片描述
我们可以发小NULL排在最小位,如果值是负数呢
在这里插入图片描述
得出结论NULL值会排到最后。
查询同学各⻔成绩,依次按数学降序,英语升序,语⽂升序的⽅式显⽰
在这里插入图片描述
类似于查字典,先会排math ,然后English,最后chinese
查询同学及总分,由⾼到低排序
在这里插入图片描述
我们思考个问题oder by是否能那别名排序呢?
在这里插入图片描述
再where 里面没办法用别名判断,为什么在oder by里面可以呢?
原因:
第一步:先from;
第二步:select 定位数据:
第三步:排序;
所有其实在排序之前已经完成了别名的转化。
所有语文成绩不为NULL的同学,按语⽂成绩从⾼到低排序
在这里插入图片描述
注意
• 查询中没有ORDER BY ⼦句,返回的顺序是未定义的,永远不要依赖这个顺序
• ORDER BY ⼦句中可以使⽤列的别名进⾏排序
• NULL 进⾏排序时,视为⽐任何值都⼩,升序出现在最上⾯,降序出现在最下⾯

补充的一些话:在数据库里面如果没有order by子句 或着 主键 就不会进行排序,虽然mysql底层会进行类似的排序,但是因为版本不同可能会造成一些麻烦,所有建议设置主键或者order by。

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

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

相关文章

18925 试卷排序(双向链表)

### 思路 1. **初始化队列**&#xff1a;将编号为1的试卷放入队列。 2. **依次插入试卷**&#xff1a;从第2张试卷开始&#xff0c;根据输入的x和p&#xff0c;将试卷插入到指定位置。 3. **输出结果**&#xff1a;输出最终的试卷序列。 ### 伪代码 function reorder_papers(…

计算机的错误计算(一百二十二)

摘要 讨论 的计算精度问题。 例1. 已知 计算 不妨在 Excel 的单元格中计算&#xff0c;则有&#xff1a; 若在Python下计算&#xff0c;则输出似乎更精确&#xff1a; 然而&#xff0c;16位有效数字的正确结果为 0.4999999999940000&#xff08;ISRealsoft 提供&#…

Matlab 多机器人编队数据分析

文章目录 前言一、Function quiver not supported for code generation.二、在仿真环境中添加障碍物三、simulink中function函数初始化五、在MATLAB中&#xff0c;实现在绘图时只删除上一次绘制的图形而不是整个图形界面六、matlab simulink中&#xff0c;程序不断发出机器人位…

git的学习使用(搭建本地仓库,创建本地仓库,配置本地仓库)(附带Ubuntu云服务器git安装流程)

学习目标&#xff1a; 学习使用git&#xff0c;并且熟悉git的使用 学习内容&#xff1a; 必备环境&#xff1a;xshell&#xff0c;Ubuntu云服务器 如下&#xff1a; 搭建 git 环境掌握 Java 基本语法掌握条件语句掌握循环语句 搭建git环境&#xff1a; 1、先检查自己的云服…

vscode的一些概念和原理,插件系统简单上手指南

VScode 技术栈和架构 使用的技术栈&#xff1a; Electron。Typescript。Node.js。Monaco Editor。 代码编辑器 主进程 (Main Process): 负责应用的生命周期管理、菜单、系统托盘等操作系统相关的功能。Electron 的主进程还负责启动渲染进程&#xff0c;并提供与 Node.js 之间…

Excel:多种方法实现1列转多列表格(含vba实现)

要求&#xff1a;将A列中的名字放到右边的表格里面 一、当数据较少的时候手动实现更快 实现的步骤&#xff1a; 1.先按照下面的方式填充右边的表格 然后选中a2、a7所在的前两行进行下拉填充 2.填充完毕表格的样子 3.选中该表格所在的区域 → 点击菜单栏“开始” → 查找 → 替…

python之selenium接管打开的谷歌浏览器窗口——隐藏爬虫特征,跳过登陆弹窗验证

文章目录 引言使用selenium接管打开的谷歌浏览器总结 引言 我们知道通过selenium打开的浏览器与本地电脑上打开的浏览器是不同的&#xff0c;selenium通过插件打开浏览器页面会显示爬虫特征信息&#xff0c;且在访问某些网站时&#xff0c;很容易被检测出是一个爬虫机器&#x…

第十五周:机器学习

目录 摘要 abstrct 一、HW3——食物图片分类CNN 二、GAN计算推导 1、引入 2、最大似然估计 3、divergence的计算 4、总结 三、GAN的架构——fGAN 1、f-divergence 2、共轭函数 3、connetction with GAN 总结 摘要 本周进一步学习了GAN基本原理&#xff0c;主…

element el-tree 自定义图标

除了自定义以外,下方代码还包含 tree自动展开 点击节点后节点聚焦 节点的click事件 节点查询 <template><el-inputplaceholder"请输入要查询的节点"v-model"filterText"clearable></el-input><el-treehighlight-currentclass&quo…

【RabbitMQ】RabbitMQ 的七种工作模式介绍

目录 1. Simple(简单模式) 2. Work Queue(工作队列) 3. Publish/Subscribe(发布/订阅) 4. Routing(路由模式) 5. Topics(通配符模式) 6. RPC(RPC通信) 7. Publisher Confirms(发布确认) 上一篇文章中我们简单认识了RabbitM1: 【RabbitMQ】RabbitMQ 的概念以及使用Rabb…

【Qt】窗口关闭提示框

在关闭QWdiget窗口时弹出提示框 重写**closeEvent**函数 void closeEvent(QCloseEvent* event) override;QMessageBox *msgBox new QMessageBox(QMessageBox::Question, "信息提示", "是否保存当前数据&#xff1f;", QMessageBox::Save | QMessageBox::N…

github克隆项目中的子模块submodule时遇到“无法访问远程仓库,请检查权限“

问题描述 在拉取仓库的时候发现了新东西。 仓库中有两个文件夹提示 点击之后&#xff0c;发现跳转到了另一个仓库 &#xff0c;原来这是仓库的子模块&#xff0c;第一次见&#xff0c;也就是仓库中包含了其他的的仓库&#xff0c;就是这么简单的原理。 但是在拉取仓库以后发现…

VScode环境配置

目录 好用插件推荐 1.Auto Rename Tag 2.openbrowser 3.实时预览&#xff08;推荐&#xff09; VSCode常用的快捷键 1. 快速复制一行 2.快速复制一行代码选定多个相同的单词 3. 添加多个光标 4. 全局替换某写单词 5. 快速定位到某一行 6. 选择某个区块 7. 放大缩…

高一全栈开发;国产 Arc 浏览器;Tauri 2.0 发布 | 生活周刊 #3

发现新应用 Vectorcraftr Vectorcraftr 提供免费可商用的插画库&#xff0c;风格有很多&#xff0c;自行食用 书立 一款功能强大、特性丰富的笔记软件&#xff0c;包含富文本&#xff0c;双链&#xff0c;表格&#xff0c;富目录树&#xff0c;WebDAV &#xff0c;自由导出等…

WPF 为button动态设置不同的模板

有时候需要动态的设置一些按钮的状态模板。使一个button显示不同的内容&#xff0c;比如Button未点击安装显示&#xff1a; 安装后显示&#xff1a; 可以通过设置button的content&#xff0c;通过content来设置不同的模板来实现功能&#xff0c;以下是代码&#xff1a; MainWi…

【消息队列】Kafka从入门到面试学习总结

国科大学习生活&#xff08;期末复习资料、课程大作业解析、大厂实习经验心得等&#xff09;: 文章专栏&#xff08;点击跳转&#xff09; 大数据开发学习文档&#xff08;分布式文件系统的实现&#xff0c;大数据生态圈学习文档等&#xff09;: 文章专栏&#xff08;点击跳转&…

CentOS7安装Gitlab服务

文章目录 前言一、安装依赖二、安装gitlab1、上传安装2、修改配置 三、启动gitlab服务四、修改密码五、设置为中文&#xff08;低版本有问题&#xff09;六、常用命令 前言 文中gitlab版本为&#xff1a; gitlab-ce-14.2.7 一、安装依赖 gitlab需要安装如下依赖&#xff0c;否…

Linux编辑器-vim的配置及其使用

vim是一种多模式的编辑器&#xff1a; 1.命令模式&#xff08;默认模式&#xff09;&#xff1a;用户所有的输入都会当作命令&#xff0c;不会当作文本输入。 2.插入模式&#xff1a;写代码&#xff0c; 按「 i 」切换进入插入模式「 insert mode 」&#xff0c;按 “i” 进入…

2024/10/13周报

文章目录 摘要Abstract文献阅读题目1. 背景与问题提出2. 提出的CLATT方法2.1 卷积神经网络&#xff08;CNN&#xff09;2.2 长短期记忆网络&#xff08;LSTM&#xff09;2.3 注意力机制2.4 滑动窗口方法 3. 实验设计与结果3.1 数据集3.2 实验基线与评价指标3.3 实验结果与分析 …

使用清华大学开源软件镜像站下载JDK

在软件开发和日常使用中&#xff0c;Java Development Kit&#xff08;JDK&#xff09;是不可或缺的一部分。它提供了Java运行环境和开发工具&#xff0c;使得开发者可以编写、编译和运行Java应用程序。本文将指导你如何从清华大学开源软件镜像站&#xff08;TUNA&#xff09;下…