DQL

1.基本查询.
自关联:同一表的不同列之间关联;

#查询某列或多列或所有列;
select enamel from emp;
select enamel,sal,comm from emp;
select * from emp;

#where 条件查询 后面跟列 和列值 的运算情况;
#运算:+ - * / %  != == > >= < <= and or not is null between and in all any
--查询 大于两万的员工的编号,姓名,月薪。
select empno,ename,sal from where sal>20000;

--查询工资在10000到三万之间的员工
select * from emp where sal>=10000 and sal<=30000;
select * from emp where sal between 10000 and 30000;

--查询工作是销售员或文员的
select * from emp where job='销售员' or job='文员';
select * from emp where job in('销售员','文员');

--查询入职日期晚于2007-01-01的,且奖金不是null。
select * from emp where hiredate>'2007-01-01' and comm is not null;
注意:日期可以直接赋值字符串 或者直接跟字符串比较,格式要一致;

2.模糊查询
#针对数据类型是字符串类型的数据进行查询。

--  % 任意个任意字符
-- _ 一个任意字符
-- \ 转义
-- like关键字

select * from emp where ename like '___';
select * from emp where job like '%员%';

3.字段控制查询

#1去除重复数据
--查询emp中员工的工作来自哪几种
select distinct job from emp;

#2去除null null跟其他数据相加还是null     ifnull(表达式,替换值)
#3可以给表或列起别名 as  as可以省略 select后面可以是列 可以是运算 也可以是常量
--查询每个员工名字 月薪 奖金 还有月薪奖金和
select ename,sal,comm,(sal+IFNULL(comm,0)) '薪水和','今天真的冷'  from emp;
--给表起别名
select e.empno,e.ename '姓名' from emp e;

4.排序查询
select * from emp order by sal asc;
select * from emp order by hiredate desc;
--按照入职日期的升序排序,入职日期一样,则按sal降序排序;
select * from emp order by hiredate asc,sal desc;

5.聚合函数查询
#之前select 是一行一行筛条件
#聚合函数查询,对某列或多列数据 进行的查询
#聚合函数不计算空,不用自己去处理ifnull ,它会自动转成0
--sum avg max min count
select sum(sal) from emp;
select sum(comm) from emp;
select avg(comm) from emp;--平均的是 参与运算的行
select sum(comm)/count(empno) from emp;
select count(*) from emp;

6.分组查询(会先进行分组,分组后每个组显示组里的第一条数据)
#聚合函数一般与分组一起使用 (分组后计算每个组里什么情况)
select job from emp; --十五条记录
select count(*) from emp; --一条记录15
select job,count(*) from emp; -- 十五条记录里第一条跟15组成一条查询结果

#加入分组(按什么分一般就把什么查出来)
select job,count(*) from emp group by job;
select deptno,count(*) from emp group by deptno;
--查询emp表中按照部门号分,每个部门号及这个部门里的最大sal
select deptno,max(sal) from emp group by deptno;

#分组加条件:分组聚合后,对整体结果筛选;having 子句;
--查询每个部门,及部门的工资和,但只要工资和大于5w的记录
select  deptno,sum(sal) from emp group by deptno having sum(sal)>50000;
--having 后面除了跟函数 也可以跟表达式,只要查询结果里有这个列
SELECT wid, cate, count(wid) FROM worker GROUP BY `work` HAVING `wid`<2 ;

#分组加条件:分组前,对要参与分组的数据进行筛选,然后再分组计算;
--查询每个部门,及部门里的工资大于15000的人数;
--符合的才分组,使用where子句
select deptno,count(*) from emp where sal>15000 group by deptno;

#having子句,对分组进行筛选;
#where子句,对数据行筛选;

7.分页查询
--select *from user limit ?,?;
select * from user limit pagesize*(nowpage-1),pagesize;

8.单表查询
select 要查的字段 from 表
where 条件
group by 分组
having 筛选组
order by 排序
limit (page-1)*pagesize,pagesize;

9.mysql提供了一些函数:
字符串函数
数学函数
日期函数
系统函数等内置函数可以在DML DQL语句中使用

Mysql梳理(单表查询)相关推荐

  1. MySQL:单表查询---简单查询+条件查询+高级查询+表和字段取别名

    目录 一.通用模版展示 简单查询 条件查询 高级查询 表和字段取别名 二.举例说明 简单查询 条件查询 高级查询 表和字段取别名 三.注意事项 四.Mapper简单举例 简单查询 条件查询 高级查询 ...

  2. MySQL之单表查询、多表查询(一)

    阅读目录 一.单表查询: ①.基本语法执行顺序 ②.where约束条件的使用 ③.group by 分组 ④.having (类似于where,但是必须在group by语句后使用) ⑤.distin ...

  3. python mysql查表_python进阶(十、mysql:单表查询)

    3.mysql数据库 3.10 单表查询 3.10.1. 简单查询 查询在数据库中使用的频率是最高的:十次查询,一次增删改. 1)建表 2)插入数据 3.10.1.1. 选择字段:select sel ...

  4. 04 Mysql之单表查询

    1.单表查询语法 #查询数据的本质:mysql会到你本地的硬盘上找到对应的文件,然后打开文件,按照你的查询条件来找出你需要的数据.下面是完整的一个单表查询的语法select * from,这个sele ...

  5. mysql:单表查询,多表查询.

    文章目录 mysql mysql基本查询语句及方法 连表 子连接 单表查询 多表查询 一 单表查询 1.前期表与数据准备 插入记录 插入表数据 2.语法书写与执行顺序 在写SQL命令是注意两点: 执行 ...

  6. mysql练习-单表查询和多表查询

    单表查询 CREATE TABLE `worker` (`部门号` int(11) NOT NULL,`职工号` int(11) NOT NULL,`工作时间` date NOT NULL,`工资` ...

  7. MySQL之单表查询、多表查询(二)

    ⑥.order by (排序) --------------------------------------------------------------------注:如果你对python感兴趣, ...

  8. MySQL之单表查询

    一.关键字的执行优先级 1,from:找到表 2,where:拿着where指定的约束条件,去文件/表中取出一条条数据 3,group by:将取出的一条条数据进行分组,如果没有group by,则整 ...

  9. Mysql ==》 单表查询

    主要内容: 1.查询语法 2.关键字的执行优先级 3.简单查询 4.单条件查询 5.where 约束 6.分组查询: group by 7.使用聚合函数查询 8.having 过滤 9.查询排序:or ...

  10. MySQL 数据库单表查询——高级查询

    当遇到一些复杂的需求时,例如对查询结果进行排序,分组和分页等,MySQL 数据库有着更高级的查询方法以处理更加复杂的需求. 一,排序查询 在查询完成后,结果集中的数据是按默认顺序排序的.为了方便用户自 ...

最新文章

  1. mysql在cmd命令下执行数据库操作
  2. QT-第一个程序 Hello QT , 以及QT creator介绍
  3. Java学习笔记二:数据类型
  4. 卸载Android虚拟机里的项目(cmd)
  5. MySQL备份/还原 Unknown storage engine 'InnoDB'
  6. 关于sql安装,升级,卸载时需要重启的解决方法
  7. jquery ajax 删除确认,jquery 漂亮的删除确认和提交无刷新删除示例
  8. 【牛腩新闻发布系统】开始
  9. OpenGL超级宝典(第7版)笔记10 片段着色器 清单3.10-3.12
  10. bootdo框架中使用shiro控制的权限(bootstrap)
  11. 苹果电脑安装windows系统 失败后 磁盘空间丢失
  12. Python根据身份证得知性别
  13. Android版数据结构与算法汇总十二章
  14. 人类一败涂地human fall flat游戏通关图文攻略
  15. 测试/开发程序员值这么多钱么?“我“不会愿赌服输......
  16. 操作系统之文件系统:4、文件存储空间管理(空闲表法、空闲链表法、位示图法、成组链接法)
  17. 什么品牌台灯最舒服?盘点2023最好的台灯品牌
  18. 织梦cms一键清除清理回收站文章
  19. linux快速查找系统库函数头文件:man命令
  20. 3dmax,查看场景中所有材质

热门文章

  1. java httpget 设置参数_java 模拟HTTP doPost请求 设置参数 | 学步园
  2. RabbitMQ + 镜像队列 + HAProxy 实现负载均衡的集群
  3. Redis常问面试题及答案
  4. 深入理解Java泛型
  5. jvm常用监控命令总结
  6. 怎么才能在APP里实现移动端车牌识别功能?
  7. Nginx工作原理及相关介绍
  8. animition动画的加入
  9. PostgreSQL SQL OUTLINE插件sr_plan (保存、篡改、固定 执行计划)
  10. 查找 - 计算式查找法 - 哈希法