1.子查詢
select ename,sal, deptno from emp where sal in (select max(sal) from emp group by deptno); //求在不同部門薪水最高的雇員的資訊; 錯誤!(因為查詢的結果是工資是在所有部門下的最高工資範圍中,就是說存在一種結果:同一部門的有倆個或多個工資,乙個是該部門最高工資,其他的可能是另外乙個部門的最高工資)
所以應該用表連線:
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);
2. 自表連線
select e1.ename,e2.ename from emp e1,emp e2 where
e1.empno = e2.mgr;//查詢人員對應的經理名稱;
3.
oracle學習筆記 3
生成表 臨時表,存在於事務範圍或會話範圍,供全體使用者使用 create global temporary table temp emp empno number,ename varchar2 10 create table emp copy as select from emp where dep...
oracle學習筆記(3)
使用profile檔案對口令進行管理 sql create profile 檔名 limit failed login arrempts 3 password lock time 2 將配之檔案分配給使用者 sql alter user 使用者名稱 profile 檔名 給賬戶解鎖 sql alte...
連線操作 Oracle 學習筆記 3
以前在學資料庫時 就沒搞明白什麼是外連線,今天才弄明白 o o 我是不是很笨 select from table1,table2 這裡from子句的兩個表執行的是笛卡爾積操作。也就是table2中的所有記錄從頭到尾吧table1中的所有記錄對映一遍。得到的記錄數是兩個表記錄數的乘積。select f...