Oracle基本查詢過濾排序?qū)嵗?/h1>
——查詢所有員工的信息select * from emp;——設(shè)置行寬set linesize 120;——設(shè)置列寬為四個數(shù)字的寬度col empno for 9999;——設(shè)置列寬,a表示字符串共八位長度col ename for a8——設(shè)置pageSize每頁顯示30條記錄set pagesize 30;——sql中支持算數(shù)表達式,注意:如果一個表達式中含有空值,則整個表達式為空select empno,ename,sal,sal*12,comm,sal*12+comm from emp;——使用濾空函數(shù)如果comm為空將以0代替select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0) from emp;——使用別名的三種方式,別名中有無雙引號的區(qū)別:帶雙引號的可以包含空格和特殊字符,不帶雙引號的則不能select empno as "員工編號",ename "姓名",sal 月薪,comm,sal*12+nvl(comm,0)年收入 from emp;——關(guān)于disctinct,相同記錄只取一次select distinct deptno from emp;——當(dāng)disctinct跟多個值時,當(dāng)deptno和job均一樣時,才認為是相同記錄select distinct deptno,job from emp;——連接符的使用select ename ||'的薪水是'||sal from emp;注意: SQL 語言大小寫不敏感。
SQL 可以寫在一行或者多行關(guān)鍵字不能被縮寫也不能分行各子句一般要分行寫。
使用縮進提高語句的可讀性。
過濾和排序
view plain——查詢系統(tǒng)參數(shù)select * from v$nls_parameters;——修改日期格式alter session set NLS_DATE_FORMAT='yyyy-mm-dd';——隱士方式轉(zhuǎn)換日期,會影響性能select * from emp where hiredate='1981-11-17';——顯示方式轉(zhuǎn)換日期select * from emp where hiredate=to_date('1981-11-17','yyyy-mm-dd');——比較運算符,查詢工資大于1000,小于2000的員工,between and含邊界select * from emp where sal>=1000 and sal<=2000;select * from emp where sal between 1000 and 2000;——in: 在集合中,查詢10號部門和20號部門的員工select * from emp where deptno=10 or deptno=20;select * from emp where deptno in (10,20);——模糊查詢:查詢名字以S打頭的員工select * from emp where ename like 'S%';——查詢名字有四個字的員工,要求四個下劃線select * from emp where ename like '____';——查詢姓名中含義下劃線的員工,_下劃線為特殊字符需要轉(zhuǎn)義,escape 聲明轉(zhuǎn)義select * from emp where ename like '%_%' escape '';——查詢獎金不為空的員工select * from emp where comm is not null;——查詢員工信息,按照月薪排序select * from emp order by sal;——a命令:追加命令,將上邊改為降序排序a desc——查詢員工信息,按照年薪排序select empno,ename,sal,sal*12 from emp order by sal*12;——order by后面可以跟別名select empno,ename,sal,sal*12 年薪 from emp order by 年薪;——order by后面可以跟序號select empno,ename,sal,sal*12 from emp order by 4;——order by作用于多列,先按照第一列排序;然后按照第二列排select * from emp order by deptno,sal;——order by作用于多列,降序需要每列均有desc select * from emp order by deptno desc,sal desc——將空值排到最后select * from emp order by comm desc nulls last;——屏蔽/開啟反饋信息set feedback off/set feedback on
排序的規(guī)則 :可以按照select語句中的列名排序可以按照別名列名排序可以按照select語句中的列名的順序值排序如果要按照多列進行排序,則規(guī)則是先按照第一列排序,如果相同,則按照第二列排序;以此類推。
時間:2012-03-23 責(zé)任編輯:admin
相關(guān)文章
無相關(guān)信息
SQL 語言大小寫不敏感。
SQL 可以寫在一行或者多行關(guān)鍵字不能被縮寫也不能分行各子句一般要分行寫。
使用縮進提高語句的可讀性。
過濾和排序
view plain——查詢系統(tǒng)參數(shù)select * from v$nls_parameters;——修改日期格式alter session set NLS_DATE_FORMAT='yyyy-mm-dd';——隱士方式轉(zhuǎn)換日期,會影響性能select * from emp where hiredate='1981-11-17';——顯示方式轉(zhuǎn)換日期select * from emp where hiredate=to_date('1981-11-17','yyyy-mm-dd');——比較運算符,查詢工資大于1000,小于2000的員工,between and含邊界select * from emp where sal>=1000 and sal<=2000;select * from emp where sal between 1000 and 2000;——in: 在集合中,查詢10號部門和20號部門的員工select * from emp where deptno=10 or deptno=20;select * from emp where deptno in (10,20);——模糊查詢:查詢名字以S打頭的員工select * from emp where ename like 'S%';——查詢名字有四個字的員工,要求四個下劃線select * from emp where ename like '____';——查詢姓名中含義下劃線的員工,_下劃線為特殊字符需要轉(zhuǎn)義,escape 聲明轉(zhuǎn)義select * from emp where ename like '%_%' escape '';——查詢獎金不為空的員工select * from emp where comm is not null;——查詢員工信息,按照月薪排序select * from emp order by sal;——a命令:追加命令,將上邊改為降序排序a desc——查詢員工信息,按照年薪排序select empno,ename,sal,sal*12 from emp order by sal*12;——order by后面可以跟別名select empno,ename,sal,sal*12 年薪 from emp order by 年薪;——order by后面可以跟序號select empno,ename,sal,sal*12 from emp order by 4;——order by作用于多列,先按照第一列排序;然后按照第二列排select * from emp order by deptno,sal;——order by作用于多列,降序需要每列均有desc select * from emp order by deptno desc,sal desc——將空值排到最后select * from emp order by comm desc nulls last;——屏蔽/開啟反饋信息set feedback off/set feedback on
排序的規(guī)則 :可以按照select語句中的列名排序可以按照別名列名排序可以按照select語句中的列名的順序值排序如果要按照多列進行排序,則規(guī)則是先按照第一列排序,如果相同,則按照第二列排序;以此類推。