你真的懂python的邏輯運算嗎?月薪上萬大佬都不理解的祕密!以邏輯與(and)為例
阿新 • • 發佈:2021-02-10
技術標籤:快速排序sqlrubypostgresql正則表示式
5、排序
單一欄位排序:#將薪水按照從小到大 的進行排序
1、select
ename, job ,sal, comm
from emp
order by sal asc;
注意:asc升序,預設asc不用寫
#將薪水按照從大到小的進行排列-降序DESC
2、select
ename, job, sal, comm
from emp
order by sal desc;
#多欄位進行排序
3、select ename, job, sal, comm from emp order by job desc,sal desc;
6、函式
#將員工的名字全部轉成小寫
1、select
lower(ename) ename, job, sal, comm
from emp;
#轉大寫
#通過小寫臨時表 將員工的名字全部轉成大寫
2、select
upper(temp.ename) ename, temp.sal, temp.job
from (select
lower(ename) ename, job,sal,comm
from emp) as temp;
#字串擷取 substr
#查詢員工姓名種第二個字母是M的所有員工
#substr(被擷取欄位名稱, 起始位置, 擷取長度)
3、select
ename
from emp
where substr(ename, 2, 1)='M';
#取一個字串的長度
#取得部門名稱的長度
4、select
deptno,dname, length(dname) 長度
from dept;
#去掉收尾的空格trim
MGR編號為7566的job字串長度
5、select
ename, length(trim(job)) 長度
from emp
where mgr='7566';
#四捨五入(round)
6、select round(1.1) 捨去;
7、select round(1.5) 進位;
#生成隨機數
#生成0-1的隨機數
8、select rand();
#生成隨機數0-100
select round(rand()*100);
#ifnull 空值處理函式
#如果查詢欄位是null 填充0
10、select
ename,ifnull(comm, 0) comm
from emp;
#匹配函式
-- case job
-- when 'xxx' then yyyy
-- when 'xxx' then yyyy
-- else zzz
-- END
#匹配工作崗位 當為manager時 薪水上調10% 當為salesman時,薪水上調50%其他崗位薪水不變
11、select
ename, job, sal as odsal,
(case job
when 'MANAGER'
then sal*1.1
when 'SALESMAN'
then sal*1.5
else sal
end) as newsal
from emp;
#將結果種的重複行去掉、查詢公司有哪些工作崗位
12、select
distinct job
from emp;
7、分組查詢
#查出每個工作崗位的最高薪水和其他重要資訊
select
max(sal) sal, job
from emp
group by job
order by sal desc;
8、分組查詢-having資料篩選
#找出clerk工種除外的其他每個工種平均收入水平大於2000的工種資訊
select
job, avg(sal + ifnull(comm, 0)) 平均工資
from emp
where job!='CLERK'
group by job
having avg(sal+ifnull(comm, 0))>2000;
9、簡單查詢語句順序總結
select:查詢
from: 從某張表檢索資料
where:經過條件篩選
group by:分組
having:分組後再進行條件篩選
order by:排序