1. 程式人生 > 其它 >你真的懂python的邏輯運算嗎?月薪上萬大佬都不理解的祕密!以邏輯與(and)為例

你真的懂python的邏輯運算嗎?月薪上萬大佬都不理解的祕密!以邏輯與(and)為例

技術標籤:快速排序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:排序