oracle筆記--3.24

-------------------------以scott權限登錄oracle---------------------

1.查找部門號爲10的部門名稱及部門所有員工的名字及薪水:select a1.dname,a2.ename,a2.sal from dept a1,emp a2 where a1.deptno=a2.deptno and a1.deptno=10;

2.查找僱員和其領導的名字:select worker.ename,boss.ename from emp worker,emp boss where worker.mgr=boss.empno;

3.查找與十號部門有相同工作的所有僱員的信息:select * from emp where job in (select distinct job from emp where deptno=10);

4.查找比十號部門所有員工工資都高的僱員的信息:select * from emp where sal>(select max(sal) from emp where deptno=30);

5.oracle分頁1--根據rowid來分,效率適中:select * from (select a1.*,rownum rn from ((select * from emp) a1) where rownum<=10) where rn>=6;

6.oracle根據rowid分頁:select * from emp where rowid in(select rid from(select * from (select rownum rn,rid from (select rowid rid,ename from emp where rownum<=10)) where rn>=6));

7.根據查詢結果創建一張新的表:create table newEmp(eno,ename,esal) as select empno,ename,sal from emp;

8.oracle鏈接java:(1)加載驅動Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

(2)取得連接Connection conn = DriverManager.getConnection("jdbc:odbc:TestOra","scott","***********");

(3)創建statement :Statement sm = conn.createStatement();

(4)執行sql語句 ResultSet rs = sm.executeQuery("select * from emp where rowid in(select rid from(select * from (select rownum rn,rid from (select rowid rid,ename from emp where rownum<=10)) where rn>=6));");
           
(5)獲得結果(6)關閉資源

9.insert 語句插入多條數據 insert int new_table values(select * from emp);

10.查詢首字母大寫其餘字母小寫(函數的使用upper,lower,substr等函數):select upper(substr(ename,1,1))||lower(substr(ename,2,length(ename)-1)) from emp;

11.在orcale測試的時候可以用一個虛擬的表dual:select mod(10,2) from dual;

12.查找入職超過300個月的員工的信息:select * from emp where sysdate>add_months(hiredate,300);

13.查詢所有員工的入職時間:select trunc(sysdate-hiredate) as "入職時間",ename from emp;

14.查找所有1980年入職的員工信息:select * from emp where to_char(hiredate,'yyyy')=1980;

15.查找所有12月份入職的員工信息:select * from emp where to_char(hiredate,'mm')=12;

16.查找所有員工的工資:select ename,to_char(sal,'L9999.99') from emp;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章