-------------------------以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;