mysql基础学习--day7
去重 : distinct
表示按照某个字段或某几个字段去重,相同的记录只保留一个
注意:只有一个字段时,可以加括号,如果是按照多个字段去重时,不可以加括号,否则会报错
示例:查询员工信息表中的性别信息,并按照性别去重
select distinct sex from emp
练习:查询员工信息emp表中的部门编号信息,并按照部门编号去重
select distinct(deptno) from emp
设置别名 as
给查询返回的字段或者查询的表起个临时的名字
注意:1、起的别名只是在本次查询中生效
2、给字段起的别名不能跟在where后面进行判断(但是可以跟在group by,having和order by后面)
3、as可以忽略不写(但是建议写上,提高可读性)
select ename as 姓名,deptno as 部门编号,empno as 员工编号 from emp
排序 ---order by
将查询出来的字段按照指定的字段,指定的方式进行展示
语法:
select 查询内容 from 表 where 限定条件 order by 排序条件1,排序条件2,
排序方式: 升序--asc
降序---desc
不知道排序方式的情况下,默认是升序(asc可以不写,但是建议写上)
注意:如果要对中文的内容按照拼音的顺序进行排序的话,需要将其字符集转换成gbk后再排序
示例:查询员工信息表中张姓员工的员工编号,姓名,性别和工资信息,并按照工资降序展示
select empno as 员工编号,ename as 姓名,sex as 性别,sal as 工资信息 from emp where ename like '张%' order by 工资信息 desc;
示例:查询员工信息表,并按照员工姓名升序展示
select * from emp order by ename asc;
select * from emp order by convert(ename using gbk) asc;
练习:查询员工信息表emp中工资大于10000的员工编号,姓名,工资以及部门编号信息,并按照性别升序,部门编号降序展示
select ename as 姓名,empno as 员工编号,sal as 工资·,deptno as 部门编号,sex as 性别 from emp where sal > 10000 order by sex,deptno desc;
分组 ---group by
将查询的结果按照指定的条件进行分组统计
语法:
select 查询内容 from 表 where 限定条件 group by 分组条件1,分组条件2 order by 排序条件1 排序方式.....
示例:查询员工信息表emp,并按照部门编号分组显示
select * from emp group by deptno
练习:查询员工信息emp表中姓张的员工信息,并按照性别,部门编号分组,并按照性别升序,部门编号降序展示
select ename as 姓名,sex as 性别,deptno as 部门编号 from emp where ename like '张%' group by sex,deptno order by sex asc,deptno desc;
聚合函数:
计数函数 ---count()
返回查询的语句一共多少条数据
count(*) --查询的时候,只要有一行数据,那么就在返回的结果中+1
count(字段) --查询的时候,如果该字段不为空,那么就在返回结果上+1,否则忽略不计
count(0) --返回值与count(*)是一样的
示例:查询emp表中公司共有多少个人
select count(*) as 总人数 from emp
练习1:查询员工信息emp表中各性别有多少人
select sex as 性别,count(*) as 人数 from emp group by sex
练习2:查询员工信息emp表中工资大于40000的张姓员工的各性别有多少人,并按照人员数量降序展示
select ename as 姓名,sal as 工资,sex as 性别,count(*) as 人员数量 from emp where sal > 40000 and ename like '张%' group by sex order by 人员数量 desc
练习3: 查询员工信息emp表中共有多少个部门
select deptno from emp group by deptno;
select count(distinct deptno) from emp
求和函数 --- sum()
返回某个字段相加的总和,为null的字段当做忽略不算
示例:查询emp表中各性别的薪资总和
select sex as 性别,sum(sal) as 薪资总和 from emp group by sex
求平均数 ---avg()
返回某个字段的平均数,为null的行不参与求平均
示例:查询emp表中各性别的平均薪资
select sex as 性别,avg(sal) as 平均薪资 from emp group by 性别
求最大值 ---max()
返回某个字段的最大值
求最小值 ---min()
返回某个字段的最小值
练习:查询员工信息表中各部门的张姓男员工的总人数,工资总和,平均工资,最高工资和最低工资,并按照平均工资降序展示
select deptno as 部门,count(*) as 总人数,sum(sal) as 工资总和,avg(sal) as 平均工资,max(sal) as 最高工资,min(sal) as 最低工资 from emp where ename like '张%' group by 部门 order by 平均工资 desc;
mysql基础学习--day7相关推荐
- MySQL基础学习——Day5
文章目录 MySQL基础学习--Day5 索引 1.什么是索引? MySQL在查询方面主要就是两种方式: 2.索引的实现原理? 1.索引的实现原理: 2.添加索引的条件 3.索引的创建和删除? 1.创 ...
- MySQL基础学习③数据库准备工作,导入官方employees数据库
文章目录 1.前言 2.构建步骤 2.1 测试数据库文件下载 2.2 在test_db文件里打开cmd 2.3 导入成功 3. employees数据库 -- 职工雇佣信息 3.1 employees ...
- Mysql基础学习Day01
Mysql基础学习Day01 1.SQL语言的分类 2.注释 3.基本的select语句 4.显示表结构 5.过滤数据 突然发现java基础内容学的差不多了 就又开一个mysql基础学习 1.SQL语 ...
- MySQL基础学习2
MySQL 基础 2.1 MySQL 基础 (二)- 表操作 作业 项目三:编写一个 SQL 查询,列出所有超过或等于5名学生的课 项目四:交换工资 项目五:有趣的电影 2.2 MySQL 基础 (三 ...
- MySQL基础学习笔记(带目录)
MySQL学习笔记 MySQL产品的介绍和安装 MySQL服务的启动和停止 MySQL服务的登陆和退出 MySQL的常见命令 MySQL的语法规范 MySQL基础查询 1.起别名 2. 去重disti ...
- MySQL基础学习笔记
一.数据库基本概念 1.1 数据库 - Database 从字面意思看,数据库就是一个存储数据的仓库.从计算机的角度来讲,数据库(Datebase)是按照数据结构来组织.存储和管理数据的仓库. 简单来 ...
- MySQL基础学习笔记(持续更新中)
一.MySQL基础 1. 数据库概念 1.1 为什么要学MySQL 个人理解:随着互联网的发展,数据变得烦杂,冗余,量大,为了保证数据的持久性以及健壮性等等,同时也为了方便人们很好的处理数据,这就发明 ...
- MySQL基础-学习笔记
MySQL基础 一.DQL语言的学习 1.基础查询 /* 语法: select 查询列表 from 表名特点: 1-查询的结果集是一个虚拟表 2-select类似于System.out.printIn ...
- MySQL基础学习——第一篇
目录 MySQL定义 MySQL的安装 MySQL打开 MySQL常用数据类型 一,数值类型 二,日期和时间类型 三,字符串类型 MySQL基础命令 一,关于库的内容 1,怎创建数据库 2,删除数据库 ...
- MYSQL基础--学习笔记
最近一段时间,系统的学习了下mysql相关知识,当然都是比较基础的,现在贴出来,以供参考备忘--帅帅的小猪猪 创建用户: CREATE USER 'sampadm'@'localhost' IDENT ...
最新文章
- linux重启后出现control+D错误的解决
- C# AppDomain
- 深度学习的数学 (3)基础函数
- net::ERR_INCOMPLETE_CHUNKED_ENCODING(php项目+nginx)
- mysql数据库 支付_如何管理MySQL数据库?
- tensorflow与numpy的版本兼容性问题(亲测)
- windows安装XGBoost
- [EDA] 第1章 EDA技术概述-潘松版
- 2016/4/19 ①单个文件上传 ②上传图片后 预览图片
- [Git高级教程 (一)] 通过 Tag 标签回退版本修复 bug
- 近一半的智能手机受高通 Snapdragon 漏洞影响
- shell正则表与文本工具sed
- system.data.oracleclient requires oracle client software version 8.1.7 or greater问题(转贴)
- oracle和sqlserver数据库直接生成xml
- 计算机网络知识点汇总(考研用)
- Linux下压缩文件夹
- Linux Ubuntu系统fwknop单包授权认证(SPA)流程
- 最强 Python 数据可视化库,没有之一!
- C语言贪吃蛇游戏代码,贪吃蛇C语言代码实现大全
- Yii中CGridView单元格组件和数据提供者的使用