天天看點

有關ORACLE中使用像Mysql中Limit關鍵字的想法

今天在牛客網做題,遇到一個問題,如下所示:

有關ORACLE中使用像Mysql中Limit關鍵字的想法

由于學習階段學習的都是ORACLE中的SQL文法,并不知道Mysql中的Limit關鍵字,這道題網友們給出的答案是:

SELECT *  FROM  employees ORDER BY hire_date desc LIMIT 2,1;

在這裡就不解釋LIMIT關鍵字的用法了,詳細可以檢視https://www.cnblogs.com/cai170221/p/7122289.html這篇部落格,我也是在這篇部落格中學習到的。

既然這道題給出的答案是用Mysql實作的,我就想在ORACLE中實作,于是做了以下試驗,可能方法愚笨,但是是自己差了兩個小時資料解決的,希望幫到大家。

試驗開始:

首先建立需要用到的表以及插入實驗資料,建表及插入資料如下圖所示:

有關ORACLE中使用像Mysql中Limit關鍵字的想法

插入資料是随便插入的,是資料具有随機性。現在查詢表中資料如下所示,由于後面用到rownum關鍵字是以就在此處先顯示出來。

有關ORACLE中使用像Mysql中Limit關鍵字的想法

可以在表中看到,根據雇傭日期hire_date進行遞減排序後,rownum列也是亂序的,是以如果也想得到員工時間排名倒數第三的員工的資訊,即為01-6月 -18這個日期入職的員工資訊,就不能直接使用rownum這個關鍵字進行篩選。而在MySQl中可以可以使用LIMIT關鍵字選取出來。

下面就是本文選取員工時間排名倒數第三(01-6月 -18)的員工的資訊的SQL語句。

有關ORACLE中使用像Mysql中Limit關鍵字的想法

這樣就得到想要的結果了。這是我所了解的在ORACLE中用MySQL中LIMIT關鍵字的方法。