-
?? ??? ??? ??? ?外連接: ?? ??? ??? ??? ??? ?核心:通過外連接,把對于連接條件不成立的記錄,仍然包含在最后的結果中,分為:
?? ??? ??? ??? ??? ??? ?(1)左外連接:當連接條件不成立的時候,等號左邊的表仍然被包含 , 主表在左側,字段全顯示,副表null補充對齊。+號在右側(副表)
?? ??? ??? ??? ??? ??? ?(2)右外連接:當連接條件不成立的時候,等號右邊的表仍然被包含 , 主表在右側,字段全顯示,副表null補充對齊。+號在左側(副表)
?? ??? ??? ??? ??? ?例如: 按部門統計員工人數,要求顯示:部門號,部門名稱,人數
?? ??? ??? ??? ??? ? select d.deptno 部門號,d.dname 部門名稱,count(e.empno) 人數 from emp e,dept d where e.deptno(+)=d.deptno group by d.deptno,d.dname;
?? ??? ??? ??? ?(右外連接在等號左邊添加“(+)”,左外連接是在等號右邊添加“(+)”)
查看全部 -
?? ??? ??? ??? ?笛卡爾集:
?? ??? ??? ??? ??? 為了避免笛卡爾集,可以在where加入有效的連接條件 ?? ??? ??? ??? ??? ?在實際運行環境下,應避免使用笛卡兒積全集 ?? ??? ??? ??? ??? ?連接條件個數>=n-1 (n為參加笛卡爾集運算的表的總個數)
查看全部 -
?? ??? ??? ?1.ttitle col 15 '我的報表' col 35 sql.pno
?? ??? ??? ??? ?(使用ttitle命令設置報表的名稱,col 15 表示空15個列,'我的報表'表示顯示‘我的報表’,col 35 表示空35個列,sql.pno表示報表的頁碼)
?? ??? ??? ? 2.col deptno heading 部門號
?? ??? ??? ??? ?(使用col命令可以設置列的別名,將deptno heading '標題' 設置為別名'部門號')
?? ??? ??? ?3.break on deptno skip 1
?? ??? ??? ??? ?(相同的部門號只顯示一次,不同的部門號之間隔1行)
get:讀取指定路徑下的sql語句?? ??? ?@:執行指定路徑下的sql語句?? ??? ?/:執行上一次SQL語句
查看全部 -
?? ??? ??? ??? ?分組函數的嵌套
?? ??? ??? ??? ??? ?示例:求部門平均工資的最大值
?? ??? ??? ??? ??? ??? ?1、通過AVG函數求出每個部門的平均工資
?? ??? ??? ??? ??? ??? ??? ?select avg(sal) from emp group by deptno;
?? ??? ??? ??? ??? ??? ?2、嵌套MAX函數求出部門平均工資的最大值
?? ??? ??? ??? ??? ??? ??? ??? ?select max(avg(sal)) from emp group by deptno;
查看全部 -
?? ??? ??? ?在分組查詢中使用order by子句
?? ??? ??? ?示例:求每個部門的平均工資,要求顯示:部門號,部門的平均工資,并按照工資升序排列
?? ??? ??? ?可以按照:列、別名、表達式、序號進行排序
?? ??? ??? ??? ?select deptno,avg(sal) from emp group by deptno order by avg(sal);
?? ??? ??? ??? ?select deptno,avg(sal) 平均工資 from emp group by deptno order by 平均工資;
?? ??? ??? ??? ?select deptno,avg(sal) 平均工資 from emp group by deptno order by 2;(平均工資在SELECT 語句中的第二列);
?? ??? ??? ??? ?sqlplus的另一個小技能:? ?a命令:-append;a命令表示在上一條命令后面追加語句,a命令后必須跟兩個或兩個以上的空格,若只打一個空格則追加語句緊跟上一條語句最后一個單詞拼接
查看全部 -
qqq查看全部
舉報