当前位置: 首页 > article >正文

MySQL【知识改变命运】05

在这里插入图片描述

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.kler.cn/a/355279.html

相关文章:

  • 梳理你的思路(从OOP到架构设计)_设计模式Android + Composite模式
  • 【微信小程序】3|首页搜索框 | 我的咖啡店-综合实训
  • 华为管理变革之道:奋斗文化与活力
  • ArkTs组件(2)
  • 2024国赛A问题三和四
  • kubernates实战
  • 计数型信号量
  • 【C语言】函数指针
  • 什么是ERP?快速理解ERP系统与ERP软件的区别
  • Python 数值计算与数值分析基础
  • 拿到snp的rawdata后如何使用GATK进行筛选(GATK硬筛选文档翻译)
  • 基于BERT的语义分析实现(论文复现)
  • 51单片机的超声波视力保护仪【proteus仿真+程序+报告+原理图+演示视频】
  • PCL 点云配准-4PCS算法(粗配准)
  • Tbox编译注意问题
  • java基于SpringBoot+Vue+uniapp微信小程序的自助点餐系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • 基于Springboot+Vue的宠物援助平台(含源码+数据库)
  • 【编程语言】Kotlin快速入门 - 集合与Lambda
  • 删除 Word 空白页的 3 种方法总结
  • 中标麒麟v5安装qt512.12开发软件
  • Python进阶知识2
  • 2024第七届全国大学生数学竞赛暨数学精英挑战赛第二场,第一场获奖名单已公布
  • 重生之我爱上了k8s!
  • 【论文分享】ShEF: Shielded Enclaves for Cloud FPGAs 22‘ASPLOS
  • [Windows]文件搜索利器Everything(附zip)
  • 《探索 Python 音频利器:sounddevice》