3.3.2 例 : 查找所有同学的成绩的语文成绩,并在基础上 +10分
select [列名] as [别名] from [表名];
注: as可以省略.
select distinc [若干个列名] from [表名];
order by 指定针对哪个列进行排序
注: 默认为升序 . ASC 为升序(从小到大) DESC 为降序(从大到小)
-
NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面
-
NULL 加上所有值都等于 NULL
3.6.1 查找同学们的信息并按照数学成绩升序排序
select * from [表名] order by [列名] (asc 或 desc);
3.6.2 查找同学们的信息并按照数学成绩降序排序
3.6.3 查找学生信息并按照总成绩降序排序
select name,chinese + math + english from exam_result order by chinese + math + english desc;
3.6.4 查找学生信息并按照总成绩降序排序(使用别名)
select name,chinese + math + english as total from exam_result order by total desc;
3.6.5 按照多个列来排序
先把所有同学信息按照语文降序排序,再按照数学降序排序,再按照英语降序排序.
select * from exam_result order by chinese desc,math desc,english desc;
比较运算符
| 运算符 | 说明 |
| :-- | :-- |
| >, >=, <, <= | 大于,大于等于,小于,小于等于 |
| = | 等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL |
| <=> | 等于, NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1) |
| !=, <> | 不等于 |
| BETWEEN a0 AND a1 | 范围匹配, [a0, a1],如果 a0 <= value <= a1,返回 TRUE(1) |
| IN (option, …) | 如果是 option 中的任意一个,返回 TRUE(1) |
| IS NULL | 是 NULL |
| IS NOT NULL | 不是 NULL |
| LIKE | 模糊匹配。 % 表示任意多个( 包括 0 个)任意字符; _ 表示任意一个字符 |
逻辑运算符
| 算符 | 说明 |
| — | — |
| AND逻辑与 | 多个条件必须都为 TRUE(1),结果才是 TRUE(1) |
| OR 逻辑或 | 任意一个条件为 TRUE(1), 结果为 TRUE(1) |
| NOT逻辑取反 | 条件为 TRUE(1),结果为 FALSE(0) |
3.7.1 查询数据中chinese 为null 的记录.
错误的写法 null = null
正确写法:
select * from exam_result where chinese <=> null;
select * from exam_result where chinese is null;
3.7.2 查找英语成绩不及格的同学信息
select * from exam_result where english < 60;
3.7.3 查找语文比英语好的同学信息
select * from exam_result where chinese > english ;
3.7.4 查找总分在200分以下的同学
where 中不能使用别名
select name,chinese + math + english as total from exam_result where chinese + math + english > 200;
3.7.5 查找语文成绩大于80并且英语成绩也大于80的同学
select * from exam_result where chinese > 80 and english > 80;
3.7.6 查找语文成绩大于80或者英语大于80的同学
select * from exam_result where chinese > 80 or english > 80;
注: AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分
3.7.7 查找语文成绩在[80,90]之间的同学
select * from exam_result where chinese between 80 and 90;
select * from exam_result where chinese >= 80 and chinese <= 90;
3.7.8 查找数学成绩是 45.0 或者 60.0 的
select * from exam_result where math in (45.0,60.0);
select * from exam_result where math = 45.0 or math = 60.0;
3.7.9 查找所有姓孙的同学的成绩
select * from exam_result where name like ‘孙%’;
select * from exam_result where name like ‘孙_’;
3.7.10 查找所有同学中语文成绩 9 开头的.
select * from exam_result where chinese like ‘9%’;
– 从 0 开始,筛选 n 条结果
SELECT … FROM table_name [WHERE …] [ORDER BY …] LIMIT n;
– 从 s 开始,筛选 n 条结果
SELECT … FROM table_name [WHERE …] [ORDER BY …] LIMIT s, n;
– 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
SELECT … FROM table_name [WHERE …] [ORDER BY …] LIMIT n OFFSET s;
3.8.1 查找同学信息中总分最高的前3名.
select name,chinese + math + english as total from exam_result order by total desc limit 3;
3.8.2 查找同学信息中总分最高的 4 ~ 6
select name,chinese + math + english as total from exam_result order by total desc limit 3 offset 3;
3.8.3 如果limit 后面的数字太大,超出了记录的数目,返回的结果不会有任何的错误
select name,chinese + math + english as total from exam_result order by total desc limit 10 offset 3;
3.8.4 如果 offset 过大,得到的结果可能是一个空的
select name,chinese + math + english as total from exam_result order by total desc limit 3 offset 100;
==================================================================================
update [表名] set [列名] = [修改的值], [列名] = [修改的值] where 子句;
update exam_result set math = 80 where name = ‘孙悟空’;
update exam_result set math = 50,chinese = 95 where name = ‘曹孟德’;
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总结
我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。
面试题多多少少对于你接下来所要做的事肯定有点帮助,但我更希望你能透过面试题去总结自己的不足,以提高自己核心技术竞争力。每一次面试经历都是对你技术的扫盲,面试后的复盘总结效果是极好的!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!**
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总结
我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。
面试题多多少少对于你接下来所要做的事肯定有点帮助,但我更希望你能透过面试题去总结自己的不足,以提高自己核心技术竞争力。每一次面试经历都是对你技术的扫盲,面试后的复盘总结效果是极好的!
[外链图片转存中…(img-qS3BJ6iq-1713249611500)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!