1.rownum
注意 : 1. ruwnum 永遠按照預設的順序排序
rownum 預設的順序不會改變,我們查詢的結果, 也不是前三個, ? ? ?
我們想讓emp表排序, 然後抽出前三個
select * from emp order by sal desc ; 這樣就讓emp 成了乙個倒序(sal 大的在上)的乙個表
然後我們可以通過子查詢,然後給這個表再 一行rownum 然後就能達到想要的小果果
select rownum,empno,ename,sal from (select * from emp order by sal desc ) where rownum > = 3 ;
2. rownum 只能使用<<=不能使用 >>=
分頁查詢(oracle 的分頁比mysql麻煩,要通過子查詢)
在 oracle 中rownum 永遠從1 ,開始
limit 是 mysql 特有的 分頁查詢 oracle 通過子查詢完成分頁
步驟: 首先將emp 降序排列
然後我們再同理, 把之後的表再進行查詢,這個時候, r成了乙個列, 就可以直接用where 進行取出了
select * from
(select rownum r ,empno , ename,sal from
(select * from emp order by sal desc)
where rownum <=8)
where r > 5 ;
這樣就可以的
偽表事務提交以後, 事務一定會儲存下來嗎 ?
不是, 下面我們演示下, 建立偽表
臨時表, 比如再order by 的時候 我們看到的就是偽表, 表的本質就是沒有改變的 ,
建立偽表
create global temporary table **** ;
特點 當事務提交會話結束的時候資料會自動刪除,可以基於事務,也可以基於會話
首先建立一張偽表
插入資料
查詢所有的
然後提交事務
然後查詢
通過上面的實驗我們發現資料沒了, 這說明一次事務之後 , 資料是不會儲存下來的
偽表的資料受事務, 和會話session的影響
oracle 資料庫中 提交了事務資料一定會保留下來嗎, ?
不一定, 這和 事務的特徵不是相對應的, 以為有臨時表的存在
相關子查詢
如果不用相關子查詢用外連線查詢就可以, 效果如下
用i相關子查詢、
行轉列(組函式 (多行函式))
-- 函式 wm_concat(varchar2)
設定顯示的寬高
6 1 課堂練習
1.求正整數2和100之間的完全數。完全數 因子之和等於它本身的自然數,如6 1 2 3 include using namespace std intjudge int x int main intjudge int x 2.程式設計求2 n n為大於2的正整數 中有多少個素數。include i...
6 2 課堂練習
1 用遞迴的方法求1 2 3 n的值。include using namespace std intcalculate int n int main intcalculate int n 2 用遞迴函式輸出斐波那契數列第n項。0,1,1,2,3,5,8,13 include using namesp...
2020 6 6課堂練習反思
照著案例敲 其實修改一些地方就ok了 但思路固定了 仿照前面的 先是跟前面一樣直接設定物件屬性賦值 如 retangle.setr 3 但是後面老師的新案例是需要在鍵盤輸入值 修改過後用了 scanner sc new scanner system.in system.out.print c c s...