select * from dual//select 2*3 from dual;_ select 2*3 from emp;
select ename ,sal*12 from emp; select ename,sal*12 anuual_sal from emp;
select ename ,sal*12 "anuual sal" from emp;//引號 保存裏面的狀態 不會轉化成大寫
1.任何含有空值的 數學表達式 結果都是空值
2.字符串的鏈接 || 相當於Java中的+
3.字符串中含有 ‘ , 用兩個’‘表示出來 那一個
4.select deptno,job from emp; select distinct deptno,job from emp; distinct 去掉重複
5.select ename,sal,comm from emp where comm is null;
select ename, sal ,comm from emp where comm=null ; 錯誤嘚 ,選定某項爲空 用is;
6.select ename ,sal,comm from emp where ename in ('tom','jake'); 用in對字符串的處理
select ename ,sal ,comm from emp where sal in(800,1500,2000); 用in對數字的處理,其實就是找相等的
7. select ename ,hiredate from emp;查出 Oracle中 date的表示方式 查詢日期時 必須按照 格式書寫。
select sysdate from emp; 也可以查詢出 日期的格式
select ename, sal ,hiredate from emp where hiredate>'31-3月-80';查詢僱傭時期 在 80年 3月31 以後的人的 名字 月薪 僱傭日期
8. select deptno , ename, sal from emp where deptno =10 or sal >1000;
9. select ename from emp where ename like '%ALL%'; 模糊查詢 % 代表多個字符 _代表一個字符
10. select enamel from emp where ename like '%$%%' escape '$' ; 查詢 名字中含有 %的人名字; 自定義轉義字符 用 escape ;
11. select ename, deptno from emp where sal >1000 order by deptno asc , ename desc;
order by 排序 :desc 降序 、asc 升序 默認爲asc ,子排序用 逗號 隔開。
12. select enmae, deptno, sal*12 annual_sal from emp where ename not like'_A%' order by deptno desc ,ename;
function
1. lower() uper()
2.substr() select substr(ename,2,3) from emp; 截取ename 從第二個字符開始 一共要截取三個字符
3. chr() 和ascii() select chr(97)from dual;//將ASCII碼 97 轉換成字符
select ascii('a') form dual; 將a字符 轉換成ascii碼
4.round() select round(23.56) from dual; select round(23.56,-1) from dual;
5.to_char()對 數字 和 日期的格式轉換
select to_char(sal,'$99,999.9999') from emp;//
select to_char(sal,'L00,000.0000')from emp; L前面 的意思是 本地貨幣 0代表一位數字 該爲數字沒有用0補
select to_char(hiredate,'YYYY-MM-DD HH:MI:SS') 顯示爲 1993-02-26 2:00:00
select to_char(hiredate,'MM_DD_YYYY HH24:MI:SS') 顯示爲02_26_1993 14:00:00
6.select hiredate from emp
where hiredate>to_date('1993-02-26 14:56:56','YYYY-MM-DD HH24:MI:SS');查詢僱傭日期在什麼之後時可以自己指定格式了
7. select sal from emp
where sal>to_number('$1,500.00','$99,999.99');格式轉換時 後面的描述格式 只能比前面的實例描述的多!
8. nvl(,) : select ename,sal*12+nvl(comm,0)from emp; nvl(comm,0) comm中的值爲空值的時候 用0代替 ,若不是空值 則還是comm本身
組函數: 有多條輸入 有1條輸出語句
1. avg() 、 sum()、 count() 、min()、 max() 一共5個
select count(ename)from emp where deptno=10; 找出部門號爲10的 部門 共有多少人
select count(comm) from emp ; select count(*)from emp;區別count(comm)不會將空值 算一個 而count(*)空值也算一個單位