/**
*author blovedr
*功能:SQLServer與MySQL中分頁查詢sql語句示例
*日期: 2018年8月17日 10:58
*注釋: 學習數據庫MySQL的點點記錄, 謝謝網上各位大神分享經驗與資料, 歡迎大神批評與交流。
*/
分頁查詢 2018.8.16 21:39
SQLServer OK 2018.8.16 21:53
-- 顯示第1個到第4個入職的雇員(按時間的先后順序)
select top 4 * from order by hiredate
自注: 顯示第一個到第四個入職的員工 SQLServer OK 2018.8.16 21:53
select * from emp order by hiredate
--請顯示第5個到第10個入職的雇員(按時間的先后順序)
select top 6 * from emp where empno not in
(select top 4 empno from emp order by hiredate)
order by hiredate;
自注:排除4個,再挑6個雇員(輸出前6個雇員),就是顯示第5個到第10個入職的雇員(按時間的先后順序)。 SQLServer OK 2018.8.16 22:07
--請顯示第11個到第13個入職的人的信息(按時間的先后順序)
select top 3 * from emp where empno not in
(select top 10 empno from emp order by hiredate)
order by hiredate;
自注: 排除10個, 再挑3個雇員(輸出前3個雇員), 就是顯示第11個到第13個入職的雇員(按時間的先后順序)。 SQLServer OK 2018.8.16 22:07
--請顯示第5個到第9個人的信息(按照薪水的高低) 2018.8.16 22:11
select top 5 * from emp where empno not in
(select top 4 empno from emp order by sal desc)
order by sal desc;
自注: 排除前4個, 剩下再挑5個雇員(輸出前5個雇員), 就是顯示第5個到第9個人的信息(按照薪水的高低)。 SQLServer OK 2018.8.16 22:19
MySQL OK 2018.8.16 21:53
-- 顯示第1個到第4個入職的雇員(按時間的先后順序)
select * from emp order by hiredate limit 0,4;
select * from emp order by hiredate limit 4;
自注: 顯示第一個到第四個入職的員工(按時間的先后順序) MySQL OK 2018.8.16 21:53
mysql中關鍵字limit可實現分頁查詢, limit后跟兩個數字作為參數,
第一個數字表示從第幾行起開始查詢,第二個數字表示查詢了多少條記錄,
如果此時所查詢的記錄數小於該數字(第二個數字)時全部顯示。
當第一個數字為0 (零)時可以略去不寫。 2018.8.16 22:03
--請顯示第5個到第10個入職的雇員(按時間的先后順序)
select * from emp order by hiredate limit 4,6;
自注:顯示第五個到第十個入職的員工信息 MySQL OK 2018.8.16 22:00
--請顯示第11個到第13個入職的人的信息(按時間的先后順序)
select * from emp order by hiredate limit 10, 3; ---ok 2018.8.16 22:09
--請顯示第5個到第9個人的信息(按照薪水的高低) 2018.8.16 22:19
select * from emp order by sal desc limit 5, 5; ---ok 2018.8.16 22:09
--請顯示第4個到第9個人的信息(按照薪水的高低) 2018.8.16 22:19
select * from emp order by sal desc limit 4, 6; ---ok 2018.8.16 22:24