MySQL数据库——查询
一、单表数据查询
1)查询整张表中所有字段
select * from emp;
运行结果:
2)查询一个表中部分字段
select empno, ename,sal,job from emp;
运行结果:
3)查询表中字段时使用算术表达式
select empno, ename,sal,sal*1.08 from emp;
select empno, ename,sal, sal*12 from emp;
select empno, ename,sal, sal*12 +1000 from emp;
注:在Select语句中,对数值型数据可以使用算术运算符创建表达式
运行结果:
4)查询时使用字段别名
select empno as 员工编号, ename 员工姓名, sal*12 年薪 from emp;
select empno, ename "Ename", sal*12 "Anual Salary" from emp;
select sal*12+5000 as "年度工资(加年终奖)" from emp;
运行结果:
注:
别名如果含有空格或其他特殊字符或大小写敏感,需用双引号引起来。
AS可以省略
二、去重查询
缺省情况下,查询结果中包含所有符合条件的记录行,包括重复行
如:
select deptno from emp;
运行结果:
使用DISTINCT关键字可从查询结果中清除重复行
如:
select distinct deptno from emp;
运行结果:
三、排序查询
使用order by 子句对查询结果进行排序
排序方式包括升序(asc,缺省)和降序(desc)两种:
select empno, ename, sal from emp order by sal;
select empno, ename, sal from emp order by sal desc ;
运行结果:
按多字段排序:
select deptno, empno, ename, sal from emp order by deptno, sal;
使用字段别名排序:
select empno, ename, sal*12 annsal from emp order by annsal;
四、分页查询
1)查询前三条客户信息
select * from emp limit 3
运行结果:
2)查询从第三条往下数的共6条信息
select * from emp limit 3,6
运行结果:
五、合并查询
作用:将多个select语句联合(合并)为一个select语句
关键字:
1)union all :不管是否重复,全部合并
2)union: 如果有重复的,过滤掉重复的
六、where子句
select * from emp where deptno=10;
select * from emp where ename = 'JACK';
select * from emp where hiredate = '2020-12-12';
注意:
字符串和日期值要用单引号扩起来
字符串大小写敏感
日期值格式敏感,缺省的日期格式是'YYYY-MM-DD HH:mm:ss'
不等于:<>
select * from emp where deptno <> 30;
介于二者之间:between...and...
select * from emp where sal between 1600 and 2900;
出现在集合中:in
select * from emp where ename in('SMITH','CLARK','KING');
模糊查询:like
%:通配符 _:表示一个字符
select * from emp where ename like '_S%'; --第二个字符是S的
非空判断:is null
select * from emp where comm is not null;
运算符优先级:算术>连接>比较>逻辑
select * from emp where job='SALESMAN' or job='CLERK' and sal>=1280;
select * from emp where (job='SALESMAN' or job='CLERK') and sal>=1280;
--使用小括号强行改变优先级
七、group by子句
作用:GROUP BY 子句将表中数据分成若干小组
select deptno, avg(sal) from emp group by deptno;
select deptno, count(*),avg(sal) from emp group by deptno;
注意事项:
1、出现在select列表中的字段,如果不是包含在多行函数中,那么该字段必须同时在group by子句中出现;
2、如果没有group by子句,select列表中不允许出现字段(单行函数)与多行函数混用的情况
select empno, sal from emp; //合法
select avg(sal) from emp; //合法
select empno, avg(sal) from emp; //非法
3、不允许在where子句中使用多行函数
select deptno, avg(sal) from emp
where avg(sal) > 2000; //执行where时尚未执行groupby 及其他
group by deptno;
八、having子句
作用:对分组查询的结果进行过滤
注意1:having从句过滤分组后的结果,它只能出现在group by从句之后,而where从句要出现在group by从句之前。
注意2:where过滤行,having过滤分组。having支持所有where操作符。
举例:列出平均工资大于1000的部门ID
select deptno, avg(sal) from emp group by deptno having avg(sal) > 1000order by deptno;
MySQL数据库——查询相关推荐
- MySQL数据库查询时间段的两种方法
MySQL数据库查询时间段的两种方法: 1. SELECT* FROMgroup_details model WHEREmodel.create_time BETWEEN TO_DAYS ( '201 ...
- php简单的mysql类_超简单php mysql数据库查询类
本文章为你免费提供一款漂亮的超简单php mysql数据库查询类哦 */ class Config{ private $host; //主机名称:一般是localhost private ...
- mysql数据库查询源码_超简单php mysql数据库查询类
本文章为你免费提供一款漂亮的超简单php mysql数据库查询类哦 */ class Config{ private $host; //主机名称:一般是localhost private $root; ...
- 提高MySQL数据库查询效率的几个技巧(转载)
[size=5][color=Red]提高MySQL数据库查询效率的几个技巧(转)[/color][/size] MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用. ...
- MySQL数据库查询重复数据办法
MySQL数据库查询重复数据办法 只操作一个列数据找出重复 select * from table1 where v1 = X group by column1 having count(*)> ...
- MySQL数据库查询(实验四)
MySQL数据库查询 准备工作:脚本文件xkgl.sql下载:xkgl脚本.sql 1.执行脚本xkgl.sql (创建xkgl库.表及插入数据),观察有无错误,如有记录错误信息,并解决. (1) 执 ...
- MySQL数据库查询练习(二)
MySQL数据库查询练习 练习01(行转列): 行转列: 有一张学生成绩表sc(sno学号,clazz课程,score成绩),需要查询出每个学生的语文,数学,英语成绩(行转列,一个学生只要一行记录). ...
- Mysql数据库查询好慢,除了索引,还能因为什么?
mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题. 遇到这种问题,我们一般也会想到是因为索引. 那除开索引之外,还有哪些因素会导致数据库查询变慢呢? 有哪些操作,可 ...
- MySQL数据库查询排序
MySQL数据库查询排序 一.按关键字排序 1.1 单字段排序 1.1.1 按分数排序,默认不指定是升序排序 1.1.2 按分数降序排序 结合where进行条件过滤,筛选地址是nanjing的学生按分 ...
- mysql数据库查询缓存_MySQL查询缓存与数据库管理
MySQL查询缓存与数据库管理 上一篇 / 下一篇 2010-01-25 21:51:07 / 个人分类:MYSQL/Cache MySQL查询缓存 注意:查询缓存绝不返回过期数据. 如果一个表发生 ...
最新文章
- 一文读懂图像局部特征点检测算法
- 《高效程序员的45个习惯》之体会
- MYSQL 数据库怎样快速的复制表以及表中的数据
- python如何监听cmd_如何从Python脚本捕获Python解释器和/或CMD.EXE的输出?
- 专栏:谈谈我对当下大数据整顿的理解与风控建议
- 删除华为电视鸿蒙系统,华为解决互联网电视痛点:鸿蒙系统首发设备欲屏蔽开机广告...
- 手工打造迅雷9超精简版
- Android学习——四大核心组件(核心知识点整理)
- Observer (观察者) 模式
- PayPal的钱如何提现?PayPal商家终于可以松口气了!
- Ingenuous Cubrency UVA - 11137 立方数之和 递推
- CC2430基础——定时器1试验
- 17-【istio】-【流量管理】-【流量管理案例篇】针对TCP流量
- win7快捷方式去箭头_【初级会计】作为会计的你必须知道的快捷方式
- 网络诊断显示服务器有问题,网络诊断提示DNS服务器未响应该怎么办?dns服务器未响应解决方法...
- 如何在Dev-c++中打c语音的代码
- 22.JS+jQuery
- 【2021年第三届全国高校计算机能力挑战赛】大数据应用赛
- 谷氨酰胺主要用途,以及谷氨酰胺测定试剂盒研究
- 关于表征学习(Representation Learning)的浅显理解
热门文章
- CAD Exchanger SDK 3.17.0 Crack
- 解除excel中的宏密码
- GO多张图片拼成大图
- Fiddler URL域名转发
- android启动默认浏览器
- 【Windows】运维:Windows 远程桌面无法复制粘贴
- 计算机的简单手抄报图片,【安全手抄报图片】_简单又漂亮的交通安全手抄报图片内容...
- vue 幻灯片组件_带有vue的漂亮幻灯片组件
- [JetsonNano][教程][入门系列][一] 如何开启VNC共享
- 记一次解析Pantone Color TCX 色彩码