mysql怎么做笔记 2021年轮滑赛事( 四 )


NULL值是不可用 , 且未分配的,未知并且不适用的值 , 可以当成是保留值
AS其实可以省略
例如:select ename as name,sal salary from emp;
查询出的字段会自动换成别名
例子:select ename "Name",sal*12 "Annual Salary" from emp;
级联操作是将列或字符串和其他列串联,由两条竖线(||)表示
select ename,job,ename || job as "Employees" from emp;
可以看出Employees就将ENAME和JOB进行结合的一个操作
在select句子中适用DISTINCT 关键字消除重复行
select distinct deptnp from emp;
限制选择的行:
where关键字
如果where后面查的数据是字符串类型或者日期类型的要加''号
#######比较条件
举几个例子:
select ename,job,sal,deptno from emp where sal between 5000 and 10000;
这个是包含了5000和10000的
in的表达:
select empno,ename,mgr,deptno from emp where mgr in (7788,7782,7000);
只要mgr有括号里面的值都显示出来 。
通配符:%通配的是多个字符,_通配的是一个字符
IS NULL是查询某个字段为空的显示出来
and、or、not
例子:
查询sal=2000和job的内容是包括MAN字符串的,当同时满足两个条件时候才返回结果 。
and就是两边同时为真,or的话是有一边为真就行,not就是不等于
ASC 升序,默认升序
DESC 降序
例子:
将deptno中进行升序排列,排列出来后 , 在将sal进行降序排列 。
单行函数:就是对单行数据进行处理的函数 , 只针对这一条数据得出一个结果
函数工作的过程
ROUND(45.926,2)是将45.926这个数字的小数点后两位进行四舍五入操作得到45.93
TRUNC(45.926,2) 是将45.926这个数字的小数点后两位后面的进行丢掉 。
返回当前系统日期
经常是不同类型之间的转换
TO_CHAR就是将日期型数字型转换成字符型
例子:
数字型的转换
把字符转换成数字:
把字符转换成日期:
什么是分组函数?
另外的名字叫多行函数 , 针对于多行数据进行一个汇总处理的一类函数,最后会得到一个汇总的结果 。
例子:
其实就是对一系列数据找最大值
基本格式:select group_function(column),... from table [where condition];
首先对一个数据进行分类汇总把每一组的数据单独的拿出来 。就是对每一列数据的相同数据进行一个分组,然后在将分组后的结果再去执行select后面跟的一个分组函数的操作 。
例子:
那下面这样的怎么操作呢?
其实就是对分组以后的结果再次进行一个限制筛选
where和Having的区别?
where是针对于整体的一个查询结果
Having是针对于分组后的查询结果的一个条件限制,它是不能单独存在的,它只能够在group by后面
下面是它的表达式:
显示部门的最大平均薪水是多少
select max(avg(sal))
是这样的一个嵌套
当我们查的数据存在于多个表的时候就需要多表查询
下面是用到的表
一个是EMP的职员表、一个是DEPT的部分表
表连接的三种方式:
从总类上来看:自连接、等值连接、外连接(又可以分为三类:左连接、右连接、全连接)
自连接:一个表自己与自己建立连接成为自连接或自身连接 。
在查询的时候多表,这两张表是同一张表,所以在查询前我们需要对这个表进行一个别名的重命名 。
举例:查询出员工编号、名字及其经理名字
MGR对应的是经理的ID号 , 这个对应的就是另一张经理表中的名字

推荐阅读