欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mysql 必知必会

程序员文章站 2022-07-12 17:52:04
...

LIMIT X,Y 与 LIMIT x OFFST y

limit语法支持两个参数,offset和limit,前者表示偏移量,后者表示取前limit条数据.

## 返回符合条件的前10条语句 
select * from user limit 10

## 返回符合条件的第11-20条数据
select * from user limit 10,20

## 为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1
select * from user limit 100,-1

limit 在数据库量很大只查询一部分数据情况下情况下,查询效率高。
高效率的原理是:避免全表扫描,提高查询效率。
eg:LIMIT 1,只要找到了对应的一条记录,就不会继续向下扫描了,效率会大大提高。
在一种情况下,使用limit效率低,那就是:只使用limit来查询语句,并且偏移量特别大的情况

  • limit x offset y

注意

  • offset X是跳过X个数据,limit Y是选取Y个数据
  • limit X,Y 中X表示跳过X个数据,读取Y个数据

IFNULL() 函数

IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。

IFNULL(expression, alt_value)

eg:返回第N高的薪水

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
    set n= N-1;
  RETURN (
      # Write your MySQL query statement below.
     select IFNULL((select distinct Salary from Employee order by Salary desc limit n,1 ),null)
      
  );
END
相关标签: mysql