查询表中数据(全列/特定列/表达式,where子句(比较/逻辑运算符),order by子句,limit筛选分页),mysql执行顺序

news2024/11/15 17:50:23

目录

select

全列查询

特定列查询

用表达式查询 

(as) + 名字 

distinct 去重 

where子句 

比较运算符

列数据之间的比较

​编辑 

别名不能参与比较

null查询

between and

in ( ... , ...) 

模糊匹配 

逻辑运算符

order by子句

可以使用别名 

总结mysql执行顺序

筛选分页 

示例


select

全列查询

select * from +表名

  • 相当于遍历了一遍表数据
  • 如果数据量大,最好不要这样做

特定列查询

select + 列名(,列名1,列名2...) + from 表名

  • 可以查某列/多列数据,按照指定的列顺序显示数据
  • ''

用表达式查询 

select + 常数/表达式 + from 表名

  • 会将常数/表达式的结果与每行拼接在一起

可以用于计算表中数据,然后将结果显示出来:

(as) + 名字 

select 列1+列2... as + 名字 + from 表名

  • 可以为查询结果重命名
  • as可加可不加
  • 属于显示范畴

 

distinct 去重 

select distinct+列名/表达式

为某列去重:

为表达式的运算结果去重:

where子句 

比较运算符

列数据之间的比较
 
别名不能参与比较

这是mysql的执行顺序导致的

  • 首先确定数据从哪来 -- 某张表
  • 然后带着筛选条件去所选数据中寻找 -- where子句,而不是先拿到所有数据,再去筛选
  • 最后将找到的数据按照给定的显示方式,显示出来

所以,where子句在先,他就无法识别sum是什么

null查询

不安全指的是,null无法参与比较

  • 所以返回的是null,而不是1/0

!=和<>也是null不安全的:

所以,一般如果需要和null进行比较,会使用is (not) null

between and

in ( ... , ...) 

可以将列数据与()内所给数据匹配的行显示出来:

模糊匹配 

分为两种匹配方式:匹配任意字符%,匹配一个字符_

其实,mysql是不区分' '和" "的,习惯哪种就用哪种:

 

逻辑运算符

相当于我们代码中的&&,||,!

非常好理解的

比如:找到数学成绩>60,英语成绩大于90的学生:

order by子句

order by + 列名 asc(升序)/desc(降序)

可以将某列数据按升序或降序排列显示

  • 默认是升序

也可以将多列进行排序,当第一列是相同数据时,按照第二个给出的顺序排列

null会被看作是最小值

可以使用别名 

order by子句中可以使用查询列时使用的别名

  • 因为如果想要排序,就得先拿到所有找到的数据,也就是说,它的顺序在显示范畴之后
总结mysql执行顺序

所以,再次总结一下mysql执行的顺序:

  • 首先确定是操作哪张表
  • 如果有where子句,说明我们只需要表中的一部分数据,如果不先筛选掉,在之后的处理中,就会处理无效数据(没必要)
  • 所以,我们先执行where子句,拿到有效数据(筛选行)
  • 然后根据需要显示的列,拿到相应的列数据(筛选列)
  • 最后,将我们拿到的完全有效的数据,进行排序,显示给我们

 

筛选分页 

limit + m,n / limit n offset m

  • 用于在数据量大的时候使用,防止进程卡死
  • m:从哪个位置开始显示(默认开始位置为0,可以看作是下标)
  • n:显示行数

它比order的执行顺序还要更后

  • 因为它是在数据已经准备好了的情况下,决定显示哪几条的

示例

这样就可以显示出从第二个位置(下标为1)的一条数据:

(注意,这里两次打印中,sum相同时,名字顺序不同,是因为:我们不能相信不经过排序的列数据顺序,他很可能是随机的)

如果要分页显示:

只需要要每次变化m的值即可(m+=n)

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

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

相关文章

【蓝桥杯选拔赛真题71】python判断字符 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析

目录 python判断字符 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python判断字符 第十五届蓝桥杯青少年组python比赛选拔赛真题 一、题目要…

Google colab中如何从kaggle中接入数据?

写在前面 使用google colab进行数据分析和探索时&#xff0c;可引用的数据源包括但不限于&#xff1a;1.可上传的数据文件用本地加载的的方式打开数据资源&#xff1b;2.从网络链接中直接打开后加载到缓存中的文件资源&#xff1b;3.通过API或者外部的开放接口加载数据&#x…

软考 网络工程师 每日学习打卡 2024/3/21

学习内容 第8章 网络安全 本章主要讲解网络安全方面的基础知识和应用技术。针对考试应该掌握诸如数据加密、报文认 证、数字签名等基本理论&#xff0c;在此基础上深入理解网络安全协议的工作原理&#xff0c;并能够针对具体的 网络系统设计和实现简单的安全解决方案。 本章共有…

C语言之strsep用法实例(八十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

除了Confluence,有没有其他工具一样好用?

每个团队都需要一个协同工作工具&#xff0c;以更有效地管理任务、跟踪进度和分享知识。这就是Atlassian的Confluence发挥作用的地方。然而&#xff0c;尽管它相当强大&#xff0c;其昂贵的价格和复杂的界面可能会让某些用户望而却步。所以&#xff0c;还有其他工具可以替代Con…

面试算法-65-二叉树的层平均值

题目 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[3.00000,14.50000,11.00000] 解释&#xff1a;第 0 层的…

python中获取当前项目的目录

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 今天介绍一下&#xff0c;如何在python中获取当前项目所在的目录&#xff0c;而不是运行脚本的目录。 class ProjectPaths:# 初始化时获取当前脚本的路径staticmethoddef get_script_dir():…

mysql数据库的索引管理

目录 一、索引的概述 1、索引的概念 2、索引的作用 3、索引的副作用 4、创建索引的原则依据 5、索引优化 6、索引的分类 7、数据文件与索引文件 二、管理数据库索引 1、查询索引 2、创建索引 2.1 创建普通索引 2.2 创建唯一索引 2.3 创建主键索引 2.4 创建组合…

java 方法重写

1、方法重写概述 重写发生在两个类中&#xff0c;这两个类必须有继承或实现关系。 子类中出现了和父类中一模一样的方法声明。这一模一样指的是什么&#xff1f; &#xff08;1&#xff09;方法名、返回值类型、参数&#xff08;个数、类型、顺序&#xff09;与父类一样&…

zabbix6.4报错问题汇总:zabbix server无法连接zabbix agent主机

在配置zabbix server连接本机agent时报错&#xff1a; Get value from agent failed: cannot connect to[[xxx.xxx.xxx.xxx]:10050]: [111] Connection refused 检查10050端口是否开放&#xff0c;以下三种方式都可以查看端口是否开放。 1.nc -zv <服务器IP> <端口号…

【十九】【算法分析与设计】加强训练

目录 杨辉三角 Fibonacci数列 The Biggest Water Problem 数字根&#xff1a; Digit Sum of N! 模的运算性质&#xff1a; [NOIP2005]谁拿了最多奖学金 牛牛的汉诺塔 结尾 杨辉三角 链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 时间…

嵌入式学习42-链表栈

链表栈知识体系 满增栈&#xff0c;满减栈&#xff0c;空增栈&#xff0c;空减栈 栈和队列的区别 释放P空间后&#xff0c;不要再次访问&#xff0c;会导致q 堆区的大小为10 链队列练习

windows11右键菜单改回windows10

问题 系统从Wondows10升级到了windows11&#xff0c;界面确实好看了一些&#xff0c;但是这个右键菜单让我想把电脑砸了&#xff0c;哪个设计师设计的反人类操作。 那能不能把windows11的右键菜单变回去呢&#xff0c;答案是可以的 解决步骤 按WinR打开运行输入【regedit】…

基于Springboot+Vue的医院管理系统

项目介绍 这是一个在线医院管理系统&#xff0c;使用Maven进行项目管理&#xff0c;基于springbootmybatis框架开发的项目&#xff0c;mysql底层数据库&#xff0c;前端采用VueElementPlus&#xff0c;redis缓存&#xff0c;作为初学springbootvue前后端分离架构的同学是一个很…

蓝桥杯 EDA 组 2023模拟+真题原理图解析

本文解析了标题内的原理图蓝桥杯EDA组真题&#xff0c;2021-2022 省赛真题/模拟题在上一篇文中。本文中重复或者是简单的电路节约篇幅不在赘述。 其中需要补充和计算原理图的题目解析都放在最下面 一、2023 年第十四届省赛模拟题1 1.1 Type-C 接口电路 通过 CH340N 将数据转化为…

扶贫惠农推介系统|基于jsp技术+ Mysql+Java+ B/S结构的扶贫惠农推介系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;ssm&#xff0c;springboot的平台设计与实现项目系统开发资源&#xff08;可…

Qt学习--界面知识点大杂烩

在开发过程中&#xff0c;通常需要打开或者保存上位机数据到本地&#xff0c;这时候就需要用到

云主机搭建与服务软件部署

文章目录 登录访问云电脑与云电脑传输文件配置ssh服务ssh连接云电脑使用scp传输文件云端服务软件部署与实现外部访问首先购买云主机,以阿里云服务器 ECS为例子,官网购买就行了,选择默认安装了windows server 2022服务器系统 登录访问云电脑 购买完成进入控制台,能看到创建…

牛客NC196 编辑距离(一)【较难 DFS/DP,动态规划,样本对应模型 Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/6a1483b5be1547b1acd7940f867be0da 思路 编辑距离问题 什么是两个字符串的编辑距离&#xff08;edit distance&#xff09;&#xff1f;给定字符串s1和s2&#xff0c;以及在s1上的如下操作&#xff1a;插入&…

设计模式—组合模式

定义: 组合模式&#xff08;Composite Pattern&#xff09;又称为合成模式、部分-整体模式&#xff08;Part-Whole&#xff09;&#xff0c;主要用来描述部分与整体的关系。 定义&#xff1a;将对象组合成树形结构以表示“部分-整体”的层次结构&#xff0c;使用户对单个对象和…