有關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中實現,於是做了以下試驗,可能方法愚笨,但是是自己差了兩個小時資料解決的,希望幫到大家。

試驗開始:

首先創建需要用到的表以及插入實驗數據,建表及插入數據如下圖所示:

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

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

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章