SQL查詢和優化(三)

2021-08-04 23:55:49 字數 1027 閱讀 9346

給查詢結果排序

select empno,ename,hredate from emp where deptno=10

order

by hiredate asc;

也可以這樣寫

select empno,ename,hredate from emp where deptno=10

orderby3

asc;

按第三列排序的意思

多欄位排序(部門編號公升序,工資降序)

select empno, deptno,sal,ename,job from emp orderby2

asc,3

desc;

translate

語法格式:translate( expr, from_string , to_string )

select translate ('ab 你好 bcdefg','abcdefg','1234567')as new_str from dual;

輸出結果為: 12你好234567

處理排序空值 用關鍵字 nulls first 和 nulls last。

select empno, deptno,sal,ename,job from emp order

by3 nulls first;

根據條件取不同的列中的值來排序

比如:領導對工資在5000到8000之間的員工更感興趣,要求把這個範圍的員工排在前面優先檢視

select 

empno as 編號,

ename as 姓名,

sal as 工資

from emp where deptno=10

order

bycase

when sal>=5000

and sal<=8000

then

1else

2end,3;

SQL查詢和優化(五)

一 插入新記錄 建立測試表,各列都有預設值。create table test c1 varchar2 10 defaut 預設1 c2 varchar2 10 defaut 預設2 c3 varchar2 10 defaut 預設3 c4 date default sysdate 新增資料如下 i...

SQL查詢和優化(九)

用left join 優化標量子查詢 多次訪問同乙個表時,盡量不用標量子查詢 select s.sid,s.sname,s.shot,s.stype,select a.aid from a where a.aid s.aids aid,select a.aname from a where a.ai...

SQL查詢和優化(十一)

不等連線的標量子查詢改寫 前面的例子中,標量子詢查中都是等值的關聯條件,能直接改為left join 或者彙總後再用left join,但遇到不等連線怎麼辦呢?select a.licenceid,a.data source,a.street,select min contdata from ct ...