Oracle SQL select練習語句
Oracle SQL語句大全
1.desc(描述) emp 描述emp這張表
2.desc dept 部門表
3.desc salgrade 薪水等級
4.select *from table 查詢表中的元素
5.dual 是系統中的一張空表
6.select *from dual
7.select sysdate from dual 取出系統時間
8.select ename,sal*12 "annul sal"(取的別名) from emp; 查詢使用者姓名和使用者的年薪
9.任何含有空值的數學表示式的值都是空值
select ename,sal*12+comm from emp;
10.select ename||sal from emp 其中的||相當於將sal全部轉化為字串
11.表示字串的方法 select ename ||'ajjf' from emp;
12.如果其中有一個單引號就用2個單引號來代替他 select ename||'sakj' 'lds'from emp;
13.select distinct deptno from emp (去除部門欄位中重複的部分,關鍵字distinct)
14.select distinct deptno,job from emp;(去除這2個欄位中重複的組合)
15.select *from dept where deptno=10; 取出條件(取出部門編號為10的記錄)
16.select * from emp where ename='CLIRK'; 取出部門中姓名為clirk的記錄(注意取出過程中ename用單引號隔開)
17.select ename,sal from emp where sal>1500; 取出部門中薪水大於1500的人的姓名
18.select ename,sal,deptno from emp where deptno<> 10 取出部門中的部門號不等於10的
19.select ename,sal,deptno from emp where ename>'CBA' 取出部門中員工名字大於CBA的員工(實際比較的是ACIIS碼)
20.select ename,sal from emp where sal between 800 and 1500 select ename,sal from emp where sal>=800 and sal<=1500; (取出800和1500之間的數)
21.select ename,sal,comm from emp where comm is null (選出其中的空值)
select enmae,sal,comm from emp where comm is not null(選出其中的非空值)
22.select ename,sal,comm from emp where sal in (800,1500,2000);取出這3者之中的
select ename,sal,comm from emp where ename in('simth');
23.select ename,sal,hiredate from emp where hiredata>'3-04月-81';符合條件的日期
24.select ename,sal,from emp where sal>1000 or deptno=10; 找出工資薪水大於1000或者部門號等於10的員工
25.select ename,sal from emp where sal not in(500,1000); 查詢薪水不在500到1000的員工姓名和月薪
26.select ename,sal from emp where ename like '%ALL%';
select ename,sal from emp where ename like '_%A%'; 查詢姓名中含有ALL的客戶資訊,一個橫線代表一個萬用字元
27.select ename,sal from emp where ename like '_%$%%' escape '$'; 自己指定轉易字元
28.select * from dept order by deptno
對錶中元素按部門號排序
select *from dept order by deptno desc 預設為升序,可以用desc按降序
29.select ename,sal from emp where sal <>1000 order by sal desc 按照查詢條件來查詢,並排序(asc升序排列)
30.select ename,sal*12 from emp where ename not like '_%A%' and sal>800 order by sal desc
31.select lower(ename) from emp 將ename都轉化為小寫 lower是函式能將字母轉化為小寫
32.select ename from emp where lower(ename) like '_%a%'; 找出ename 中所有的含有a的字元
33.select substr(ename,2,3) form. emp 從第2個字元開始擷取3個字元
34.select chr(65) from dual; 將65轉化為字元
35.select ascii('A') from dual 將ACSII碼轉化為字串
36.select round(23.565)from dual 四捨五入
36.select round(23,4565,2)from dual 四捨五入到第二位
37.select to_char(sal,'$99.999.9999') from emp 按指定格式輸出 select to_char(sal,'L99,999,9999') form. emp L代表本地字元
38.select hiredate from emp select to_char(hiredate,'YYYY-MM-DD HH:MI:SS) from emp; 時間格式的顯示
select to_char(sysdate,'YYYY-MM-DD HH:MI:ss) from dual; 十二小時制顯示系統時間
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS) from dual 二四小時制顯示系統時間
39.select ename,hiredate from emp where hiredate > to_date('2005-2-3 12:32:23','YYYY-MM-DD HH:MI:SS');
40 select sal from emp where sal>to_number('$1,250.00','$9,999.99'); 取出比它大的一切字串(把特定格式的數字轉化成字元)
41 select ename,sal+nvl(comm,0) from emp; 講comm值為空的用0來替換,單行函式(以一條記錄為條件)一條對一條
42.select Max(sal) from emp; select Min(sal) from emp; select avg(sal) from emp; select sum(sal) from emp;
select count(*) from emp; 檢視錶中一共有多少條記錄
select count(*) from emp where deptno=10; 查詢部門10一共有多少人;
43.select avg(sal),deptno from emp group by deptno; 按部門號進行分組
select deptno,job,max(sal) from emp group by job,deptno; 按工作和部門號進行分組;
44.select ename from emp where sal=(select max(sal) from emp); 子查詢,查詢部門中薪水最高的員工姓名
45.group by 注意:出現在select列表中的欄位,如果沒有出現在組函式中必須出現在group by子句中
46.select avg(sal),deptno from emp group by deptno having avg(sal)>2000; 選出部門中平均薪水大於2000的部門,
47.select * from emp where sal>100 group by deptno having ..........order by........ 先取資料--過濾資料------分組----對分組限制-------排序
48.select avg(sal) from emp where sal>2000 group by deptno having avg(sal)>1500 order by avg(sal) desc; 查詢部門中平均薪水列印2000的員工並按部門號進行排序,查詢分組後的平均薪水必須大於1500,查詢結果按平均
薪水從低到高排列
49.select ename from emp where sal>(select avg(sal) from emp); 查詢出員工中薪水位於部門平均薪水之上的所有員工
50.
select ename,sal from emp join (select deptno,max(sal) max_sal from emp group by deptno) t on (emp.sal =t.max_sal and emp.deptno=t.deptno)
/
查詢每個部門中薪水最高的
51.select e1.ename,e2.ename from emp e1,emp e2 where e1.mgr=e2.empno; 表的自連線 上級的名字
52.select dname,ename from emp cross join dept 交叉連線,笛卡爾 SQL99中的新語法
53.select ename,dname from emp join dept on(emp.deptno=dept.deptno);
54.select ename,dname from emp join dept using(deptno); 查詢emp和dept表中deptno相同的部分。
55.select ename,dname,grade from emp e join dept d on(e.deptno=d.depno) join salgrade s(e.sal between s.losal and s.hisal) (三表查詢)
where ename not like '_%A%';
56.select e1.ename,e2.ename from emp e1 join emp e2 on(e1.mgr=e2.deptno); 表的自連線
57.select e1.ename,e2.ename from emp e1 left join emp e2 on(e1.mgr=e2.deptno) 左外表連線 select ename,dname from emp e right join dept d on(e.deptno=d.deptno)右外連線 select ename,dname from emp e full
join dept d on(e.deptno=d.deptno)全連線 (e1.sal 水最大的部門號
58.求部門中薪水最高的 select ename,sal from emp join (select max(sal) max_sal, deptno from emp group by deptno) t on (emp.sal=t.max_sal and emp.deptno=t.deptno);
59.求部門中薪水等級的平均值 select deptno,avg(grade) from(select deptno,ename,grade,from emp join salgrade s on(emp.sal between s.losal and s.hisal))t group by deptno;
60.查詢僱員中哪些是經理人 select ename from emp where empno in(select mgr from emp);
61.select distinct e1.sal from emp e1 join emp e2 on(e1.sal
63.求平均薪水最大的部門的部門編號 select deptno,avg_sal from(select avg(sal) avg_sal,deptno from emp group by
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/220205/viewspace-752508/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL SELECT 語句SQL
- oracle語句練習--初級Oracle
- Oracle OCP(01):使用SQL SELECT語句檢索資料OracleSQL
- 【SQL】14 UNION 操作符、SELECT INTO 語句、INSERT INTO SELECT 語句、CREATE DATABASE 語句、CREATE TABLE 語句SQLDatabase
- SQL語言基礎(SELECT語句)SQL
- 【TUNE_ORACLE】查出所有有“select *”語句的SQL參考OracleSQL
- 6. Oracle開發和應用—6.3. 基本SQL語句—6.3.4. select語句OracleSQL
- Oracle基本SQL語句OracleSQL
- insert into select語句與select into from語句
- SQL查詢語句 (Oracle)SQLOracle
- 學習MySQL的select語句MySql
- Oracle SQL精妙SQL語句講解OracleSQL
- 列出oracle dbtime得sql語句OracleSQL
- SQL 語句學習SQL
- 【躍遷之路】SQL語句刻意練習(最後更新:2018.06.25)SQL
- Oracle select 語句字串拼接小例項-quote使用Oracle字串
- Oracle:select 或 inactive 會話語句產生鎖?Oracle會話
- 資料庫學習(一)——select語句資料庫
- 後臺執行SQL語句(oracle)SQLOracle
- 【SQL】Oracle SQL join on語句and和where使用區別SQLOracle
- java連線oracle執行sql語句JavaOracleSQL
- sql語句學習總結SQL
- Go select語句詳解Go
- python基礎語句小練習Python
- Oracle執行語句跟蹤 使用sql trace實現語句追蹤OracleSQL
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- SQL語句SQL
- 簡單的SQL語句學習SQL
- Select語句執行順序
- 圖解Go select語句原理圖解Go
- 18 與Oracle Data Guard 相關的SQL語句OracleSQL
- Oracle資料庫SQL語句執行過程Oracle資料庫SQL
- 在oracle中,select語句查詢欄位中非純數字值Oracle
- 【SQL】9 SQL INSERT INTO 語句SQL
- 【SQL】10 SQL UPDATE 語句SQL
- 【SQL】11 SQL DELETE 語句SQLdelete
- sql常用語句SQL
- 【SQL】Oracle sql語句 minus函式執行效率與join對比SQLOracle函式
- oracle常用後臺程序及sql語句執行流程OracleSQL