一、单表数据查询

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数据库——查询相关推荐

  1. MySQL数据库查询时间段的两种方法

    MySQL数据库查询时间段的两种方法: 1. SELECT* FROMgroup_details model WHEREmodel.create_time BETWEEN TO_DAYS ( '201 ...

  2. php简单的mysql类_超简单php mysql数据库查询类

    本文章为你免费提供一款漂亮的超简单php mysql数据库查询类哦 */ class Config{ private $host;        //主机名称:一般是localhost private ...

  3. mysql数据库查询源码_超简单php mysql数据库查询类

    本文章为你免费提供一款漂亮的超简单php mysql数据库查询类哦 */ class Config{ private $host; //主机名称:一般是localhost private $root; ...

  4. 提高MySQL数据库查询效率的几个技巧(转载)

    [size=5][color=Red]提高MySQL数据库查询效率的几个技巧(转)[/color][/size]       MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用. ...

  5. MySQL数据库查询重复数据办法

    MySQL数据库查询重复数据办法 只操作一个列数据找出重复 select * from table1 where v1 = X group by column1 having count(*)> ...

  6. MySQL数据库查询(实验四)

    MySQL数据库查询 准备工作:脚本文件xkgl.sql下载:xkgl脚本.sql 1.执行脚本xkgl.sql (创建xkgl库.表及插入数据),观察有无错误,如有记录错误信息,并解决. (1) 执 ...

  7. MySQL数据库查询练习(二)

    MySQL数据库查询练习 练习01(行转列): 行转列: 有一张学生成绩表sc(sno学号,clazz课程,score成绩),需要查询出每个学生的语文,数学,英语成绩(行转列,一个学生只要一行记录). ...

  8. Mysql数据库查询好慢,除了索引,还能因为什么?

    mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题. 遇到这种问题,我们一般也会想到是因为索引. 那除开索引之外,还有哪些因素会导致数据库查询变慢呢? 有哪些操作,可 ...

  9. MySQL数据库查询排序

    MySQL数据库查询排序 一.按关键字排序 1.1 单字段排序 1.1.1 按分数排序,默认不指定是升序排序 1.1.2 按分数降序排序 结合where进行条件过滤,筛选地址是nanjing的学生按分 ...

  10. mysql数据库查询缓存_MySQL查询缓存与数据库管理

    MySQL查询缓存与数据库管理 上一篇 / 下一篇  2010-01-25 21:51:07 / 个人分类:MYSQL/Cache MySQL查询缓存 注意:查询缓存绝不返回过期数据. 如果一个表发生 ...

最新文章

  1. 一文读懂图像局部特征点检测算法
  2. 《高效程序员的45个习惯》之体会
  3. MYSQL 数据库怎样快速的复制表以及表中的数据
  4. python如何监听cmd_如何从Python脚本捕获Python解释器和/或CMD.EXE的输出?
  5. 专栏:谈谈我对当下大数据整顿的理解与风控建议
  6. 删除华为电视鸿蒙系统,华为解决互联网电视痛点:鸿蒙系统首发设备欲屏蔽开机广告...
  7. 手工打造迅雷9超精简版
  8. Android学习——四大核心组件(核心知识点整理)
  9. Observer (观察者) 模式
  10. PayPal的钱如何提现?PayPal商家终于可以松口气了!
  11. Ingenuous Cubrency UVA - 11137 立方数之和 递推
  12. CC2430基础——定时器1试验
  13. 17-【istio】-【流量管理】-【流量管理案例篇】针对TCP流量
  14. win7快捷方式去箭头_【初级会计】作为会计的你必须知道的快捷方式
  15. 网络诊断显示服务器有问题,网络诊断提示DNS服务器未响应该怎么办?dns服务器未响应解决方法...
  16. 如何在Dev-c++中打c语音的代码
  17. 22.JS+jQuery
  18. 【2021年第三届全国高校计算机能力挑战赛】大数据应用赛
  19. 谷氨酰胺主要用途,以及谷氨酰胺测定试剂盒研究
  20. 关于表征学习(Representation Learning)的浅显理解

热门文章

  1. CAD Exchanger SDK 3.17.0 Crack
  2. 解除excel中的宏密码
  3. GO多张图片拼成大图
  4. Fiddler URL域名转发
  5. android启动默认浏览器
  6. 【Windows】运维:Windows 远程桌面无法复制粘贴
  7. 计算机的简单手抄报图片,【安全手抄报图片】_简单又漂亮的交通安全手抄报图片内容...
  8. vue 幻灯片组件_带有vue的漂亮幻灯片组件
  9. [JetsonNano][教程][入门系列][一] 如何开启VNC共享
  10. 记一次解析Pantone Color TCX 色彩码