不要傳任何列的條件引數,查詢表中連續的某幾條記錄
如:表a,id列為主鍵
id name *** age
-------------------------
1 luoyi male 21
2 yaya female 20
3 lili female 22
4 wuyong male 25
.......................
這個表的記錄還有很多,如果我想取第
二、第三條記錄,不為別的,我就想要這兩條,這不僅在程式設計中會用到,而且在一些公司面試時也有類似考題(呵呵,我沒有遇到過),在oracle和mssqlserver中sql**分別為:
一、oracle
在oracle中不能用top關鍵字,而用rownum,有兩種方法可以實現
1.(select * from a where rownum <= 4) minus (select * from a where rownum <= 1)
這樣就得到了
二、三兩條記錄了。minus 關鍵字的意思是求兩個結果集的差集,在數學中有這個概念,比如說兩個集合可以合併、公有、差集.
2. select * from (select * from a where rownum < 4) b where b.id not in(select id from a where rownum <2) 這句**也可以實。主要運用了not in運算子
二、ms sql server
在server中沒有minus,只能用類似於oracle的第二種方法
select * from (select top 3 * from a) as b where b.id not in(select top 1 id from a)
三、繪製出來的結果為:
id name *** age
--------------------------------
2 yaya female 20
3 lili female 22
如何查詢oracle表的前幾條記錄
由於專案需要,需要查詢 oracle 表中的前幾條記錄,oralcle 由一個rownum 可以直接用這個來得到需要的記錄數,但是一開始我用的 sql是 select from table where rownum 你要查的記錄條數,雖然能夠取出前幾條記錄,但是我發現如果要把排序後記錄取前幾條結果就...
查詢前幾條記錄SQL在不同資料庫中的用法
查詢前幾條記錄sql在不同資料庫中的用法 1.oracle select from table1 where rownum n 2.informix select first n from table1 3.db2 select row number over order by col1 desc ...
查詢前幾條記錄SQL在不同資料庫中的用法
查詢前幾條記錄sql在不同資料庫中的用法 1.oracle select from table1 whererownum n 2.informix selectfirstn from table1 3.db2 select row number over order by col1 desc as ...
轉 查詢前幾條記錄SQL在不同資料庫中的用法
查詢前幾條記錄sql在不同資料庫中的用法 1.oracle select from table1 where rownum n 2.informix select first n from table1 3.db2 select row number over order by col1 desc ...
SQL提取表中某列字元長度為2的所有記錄
有一個表wb,包含兩列character和wb 表中資料截圖如下 從圖中可以看出wb列的各行資料的長度是不一樣的,現在我想把wb列中長度為二,即只有兩個字元的所有記錄 給提取出來,我們該如何寫sql語句呢?剛開始我也是楞了一下,心想好像沒有那個函式可以計算x行y列中資料的長度吧?幸好我想起了sql中...