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 語句練習 In MySQLMySql
- sql 語句練習(2)SQL
- sql 語句練習(3) In MySQLMySql
- SQL SELECT 語句SQL
- oracle語句練習--初級Oracle
- SQL update select語句SQL
- SQL語言基礎(SELECT語句)SQL
- 【SQL】14 UNION 操作符、SELECT INTO 語句、INSERT INTO SELECT 語句、CREATE DATABASE 語句、CREATE TABLE 語句SQLDatabase
- Oracle OCP(01):使用SQL SELECT語句檢索資料OracleSQL
- Sql Server系列:Select基本語句SQLServer
- 【MySQL】經典資料庫SQL語句編寫練習題——SQL語句掃盲MySql資料庫
- oracle sql語句OracleSQL
- 使用SQL SELECT語句檢索資料SQL
- 【sql】編寫基本的SQL SELECT語句四SQL
- 【sql】編寫基本的SQL SELECT語句三SQL
- 【sql】編寫基本的SQL SELECT語句一SQL
- 學習MySQL的select語句MySql
- 【TUNE_ORACLE】查出所有有“select *”語句的SQL參考OracleSQL
- 6. Oracle開發和應用—6.3. 基本SQL語句—6.3.4. select語句OracleSQL
- SQL 語句select top 變數問題SQL變數
- SQL語句中SELECT語句的執行順序SQL
- 資料庫語句練習資料庫
- SQL 語句學習SQL
- sql語句學習SQL
- Oracle基本SQL語句OracleSQL
- oracle常用SQL語句OracleSQL
- oracle的sql語句OracleSQL
- oracle sql練習題OracleSQL
- SQL Select語句邏輯執行順序SQL
- Matlab的if語句switch語句for迴圈while迴圈語句練習MatlabWhile
- 精典示例——while語句練習While
- Go select 語句Go
- SQL查詢語句 (Oracle)SQLOracle
- Oracle SQL語句分類OracleSQL
- Oracle SQL精妙SQL語句講解OracleSQL
- Oracle sql with 語句語法與例子OracleSQL
- SQL Server中SELECT語句執行順序解析SQLServer
- python基礎語句小練習Python