/* 时间:2020/09/09 功能: 一 运算有null 二 排序: 三 模糊查询 四 聚合函数 */
一 运算有null
select ename "姓名", sal "月收入", sal * 12 + isnull(comm, 0) "年收入" from emp
二 排序:
/* order by: 1 顺序: 升序 order by; 降序 order by desc 2 条件: 单个 组合 */
-- 升序 select sal from emp order by sal -- 降序 select sal from emp order by sal desc -- 升序 + 降序 select ename, deptno, sal from emp order by deptno, sal desc
三 模糊查询
-- 模糊查询 select ename from emp where ename like '%a%' -- 字符串含a select ename from emp where ename like '%' -- 全部输入 select ename from emp where ename like '%.%' -- 字符串含.
select ename from emp where ename like 'A%' -- A字母开头 select ename from emp where ename like '%S' -- S字母结尾 select ename from emp where ename like '_A%' -- 第二个字符为a
select ename from emp where ename like '[a-f]%' -- 第一个字符为任意字符: a b c d e f order by ename -- 排序: 升序 select ename from emp where ename like '[a, f]%' -- 第一个字符为: a或f order by ename desc -- 排序: 降序 select ename from emp where ename like '[^a-g]%' -- 第一个字符: 不是a到g之间 order by ename -- 排序: 升序 select ename from emp where ename like '[^a, s]%' -- 第一个字符: 不是a或s之间 order by ename -- 排序: 升序
insert into emp(empno, ename) values (8762, 'kkk') insert into emp(empno, ename) values (8763, 'c%d') insert into emp(empno, ename) values (8764, 'd_d') insert into emp(empno, ename) values (8765, 'e$') insert into emp(empno, ename) values (8766, 'f%*d') insert into emp(empno, ename) values (8767, 'f_%*d\%') -- 转义字符 select ename from emp where ename like '%\%%' escape '' select ename from emp where ename like '%$%' escape '$'
四 聚合函数
-- 聚合函数 -- 多行函数 select lower(ename), upper(ename)-- 字符串: 小写 大写 from emp
-- 单行函数 select max(sal) "最高工资", min(sal) "最低工资", round(avg(sal), 2) "平均工资" -- 保留两位小数 from emp select count(*) "总共行数" from emp select count(deptno) "部门个数" -- 没有去重 from emp select count(distinct(deptno)) "部门个数" -- 去重 from emp select count(comm) "奖金" -- 过滤 null from emp