sql server和oracle中查詢結果返回指定行數的語句

時間 2022-04-18 23:35:42

1樓:匿名使用者

sql server返回指定行數查詢結果:

select top 10 * from talbe where a>10 order by a ;

進行排序後,再返回指定行數,可以返回最大的行數或最小的行數。

oracle返回指定行數查詢結果:

select * from table where a>10 and rownum<=10;

進行排序後,只能取得預設的行數,無法直接排序,若要排序,則要巢狀sql:

select * from (select * from table where a>10 order by a) where rownum<=10;

你驗證過嗎?oracle子查詢不支援order by?

2樓:匿名使用者

sql server下查詢結果返回指定行用top命令。

如查詢product表中的5行資料:

select top 5 * from product;

oracle下查詢結果返回指定行用rownum來實現。

如查詢emp表中的5行資料:

select * from emp where rownum<=5;

3樓:匿名使用者

oracle用rownum就可以了

第一行到第十行

select * from table where rownum <=10

第二十行到第三十行

select * from table where rownum < =30

minus select * from table where rownum <=20

第十行到最後一行的

select * from table

minus select * from table where rownum <=10

4樓:華佗之父

這裡假設第一列是唯一的id列,預設按id公升序排序1、返回第一行到第十行的,

select top 10 * from table2、第二十行到第三十行的,

select top 10 * from (select top 30 id from table order by id desc) as tab order by id --這裡是先查出前30行,按倒序排序,再從這三十行裡面查出前十行。

3、第十行到最後一行的

select * from table where id not in (select top 10 id from table)

5樓:匿名使用者

sql server好像是用top,不太會oracle

select * from (select a.*,rownum rn from a ) where rn between 1 and 10;

select * from (select a.*,rownum rn from a ) where rn between 20 and 30;

select * from (select a.*,rownum rn from a ) where rn >=10;

sql server和oracle中查詢結果返回指定行數的語句

6樓:簡丹秋緱旭

sql server返回指定行數查詢結果:

select top 10 * from talbe where a>10 order by a ;

進行排序後,再返回指定行數,可以返回最大的行數或最小的行數。

oracle返回指定行數查詢結果:

select * from table where a>10 and rownum<=10;

進行排序後,只能取得預設的行數,無法直接排序,若要排序,則要巢狀sql:

select * from (select * from table where a>10 order by a) where rownum<=10;

你驗證過嗎?oracle子查詢不支援orderby?

7樓:牛思柔郝惠

sqlserver下查詢結果返回指定行用top命令。

如查詢product表中的5行資料:

select top 5 * from product;

oracle下查詢結果返回指定行用rownum來實現。

如查詢emp表中的5行資料:

select * from emp where rownum<=5;

8樓:歐小雨谷駒

oracle用rownum就可以了

第一行到第十行

select

*from

table

where

rownum

<=10

第二十行到第三十行

select

*from

table

where

rownum

<=30minus

select

*from

table

where

rownum

<=20

第十行到最後一行的

select

*from

table

minus

select

*from

table

where

rownum

<=10

9樓:練清輝啟

這裡假設第一列是唯一的id列,預設按id公升序排序1、返回第一行到第十行的,

select

top10

*from

table

2、第二十行到第三十行的,

select

top10

*from

(select

top30

idfrom

table

order

byid

desc)

astab

order

byid

--這裡是先查出前30行,按倒序排序,再從這三十行裡面查出前十行。

3、第十行到最後一行的

select

*from

table

where

idnot

in(select

top10

idfrom

table)

sql server,oracle中查詢結果返回指定的行數

10樓:

這個很簡單啊,假定你想查詢第11-20行,可以用下列語句:

select top 10 * from (select top 20 * from tablename desc) desc

語句解析如下:先查出前20個資料,並然逆序排列,然後在逆序查詢的20個中查詢前10個,這樣查出來來的就是實際的第11-20個,但是是逆序的,所以在逆序一次,就變成了順序的第11-20個。

同理,想查出倒數10行資料也可以寫語句為:

select top 10 * from (select * from tablename desc) desc

sql server,oracle中查詢結果返回指定的行數

11樓:匿名使用者

select * from (select a.*,a.rownum as roid from table a order by 2 desc/asc )bwhere b.

roid between 10 and 20這是oracle的寫法,在子查詢裡可以根據你所需要的字段進行排序,然後選取10-20的或者別的你所需要的資料,其中rownum為關鍵字,所以需要在子查詢裡定義別名,然後在外層才能引用這個排序鍵值

12樓:匿名使用者

如果id連續可以直接根據id取 (select * from table where id between 11 and 20)如果id不連續可以這樣 select top 30 * from table where id not in(select top 10 * from table) oracle 用rownum來控制條件,取其他的就類似這個了....

sql如何顯示查詢結果的前100條? 5

13樓:橄欖樹島嶼

sql語句顯示查詢結果前100條在不同的資料庫查詢語句不同,分別是:

1、在 sqlserver資料庫中:

set rowcount 100 goselect * from 表名 ;

2、在oracle資料庫中:

select * from 表名 where rownum<=100;

3、在mysql資料庫中:

select * from 表名 limit 0,100,使用idea進行示例如下:

14樓:東黧

不同的資料庫查詢語句是不一樣的,例如:

1、mysql:

select * from 表名 limit 100

2、oracle:

select * from 表名 where rownum<=100

3、sql server:

select top 100  * from 表名

4、sybase:

set rowcount 100 goselect * from 表名

通過條件查詢前100條資料:

1、mysql:

select * from 表名 where 條件 limit 100

2、oracle:

select * from 表名where rownum<=100 and 其他條件;

3、sql server:

select top 100 * from 表名 where 條件

4、sybase:

set rowcount 100 goselect * from 表名 where條件

15樓:跪著作揖

1、mysql資料庫中:

select * from tbl limit 100。

2、oracle資料庫中:

select * from tbl where rownum<=100。

3、sql server資料庫中:

select top 100 * from tbl。

4、sybase資料庫中:

set rowcount n goselect * from table1 。

擴充套件資料

使用sql語句顯示查詢結果的前300條記錄:

1、在oracle資料庫中:

select * from tablename where rownum <= 300 。

2、在sql server資料庫:

select top 300 * from tablename 。

3、在mysql資料庫中:

select * from tablename limit 300 。

16樓:千鳥

sqlserver支援top關鍵字,返回前100條資料。select top 100 * from table;// 返回前100行資料

mysql支援limit,乙個引數:select * from table limit 100; //返回前100行記錄

oracle需要使用rownum。select * from table where rownum<=100; //返回前100條資料

top 子句

top 子句用於規定要返回的記錄的數目。

對於擁有數千條記錄的大型表來說,top 子句是非常有用。

sql server 的語法:

select top number|percent column_name(s)

from table_name

limit子句用於強制select語句返回置頂的記錄數,引數必須是整數常量。乙個引數是返回前幾條記錄;兩個引數時,第乙個引數指定第乙個返回記錄行的偏移量(初始記錄行的偏移量是0),第二個引數指定返回記錄的最大數目。

rownum是oracle系統順序分配為從查詢返回的行的編號,返回的第一行分配的是1,第二行是2,依此類推,這個偽欄位可以用於限制查詢返回的總行數,且rownum不能以任何表的名稱作為字首

拓展資料:

sql即結構化查詢語言(structured query language),是一種特殊目的的程式語言,是一種資料庫查詢和程式語言,用於訪問資料以及查詢、更新和管理關係資料庫系統;同時也是資料庫指令碼檔案的副檔名。sql語句無論是種類還是數量都是繁多的,很多語句也是經常要用到的,sql查詢語句就是乙個典型的例子,無論是高階查詢還是低階查詢,sql查詢語句的需求是最頻繁的。

oracle表名和列名都是大寫,oracle sql developer建表表名自動變成大寫

大寫是正規的,建議大寫 oracle是目前資料庫裡最高端別的 所以你要養成習慣 大寫是它 給轉換的 這個資料庫你全通了年薪30w沒有問題 在一般使用oracle的時候,比如簡單的sql語句或者儲存過程,是不區分大小寫的,這本來就是oracle的優化功能,你不覺得這樣,對大部分人來說用起來更方便了嗎。...

SQLSERVER中nvarchar和varchar型別的區

1.varchar 非unicode 的字元資料 nvarchar unicode 資料2.varchar n 長度為n 個位元組的可變長度且非 unicode 的字元資料。n 必須是乙個介於1和 8,000 之間的數值。儲存大小為輸入資料的位元組的實際長度,而不是 n個位元組。所輸入的資料字元長度...

mysql和sqlserver可以同時安裝嗎

兩款軟體是沒有衝突的,可以同時安裝。資料從 sql server 自動或定時同步到 mysql 資料庫 或從 mysql 自動或同步到 sql server 資料庫 方法如下 1 在 同步管理 面板中點選 新建 按鈕建立同步專案。2 首先切換到 資料庫 選項卡。填寫同步的 資料庫資訊。資料庫型別選擇...

如何檢視和獲取sql server例項名

檢視sql server例項名可用以下三種方法 1 服務 sql server 例項名 預設例項為 mssqlserver 或在連線企業管理時 檢視本地例項。2 通過登錄檔 hkey local machine software microsoft microsoft sql server inst...

sqlserver如何給表和字段新增備註並查詢以

表新增和修改備註 新增 exec sp addextendedproperty n ms description n 表備註內容 n schema n dbo n table n 表名 修改 exec sp updateextendedproperty n ms description n 表備註內...