005 運算null 排序 模糊查詢 聚合函式
阿新 • • 發佈:2020-09-09
/* 時間: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 emporder 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 '%' -- 全部輸入 selectename 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 whereename 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