Analysis of common usage examples of MySQL process functions

Analysis of common usage examples of MySQL process functions

This article uses examples to illustrate the common usage of MySQL process functions. Share with you for your reference, the details are as follows:

Process functions are a relatively common type of function in MySQL. Users can use this type of function to implement conditional selection in a SQL statement, which can improve efficiency.

The following lists the MySQL process functions related to conditions

function Function
IF(expr1,expr2,expr3) If expr1 is true, returns expr2, otherwise returns expr3
IFNULL(expr1,expr2) If expr1 is not NULL, returns expr1, otherwise returns expr2
CASE WHEN [value1] THEN [result1]… ELSE [default] END If value is true, return result1, otherwise return default
CASE [expr] WHEN [value1] THEN [result1]… ELSE [default] END If expr is equal to value1, return result1, otherwise return default

The following example simulates the classification of employees. First, create an employee salary table:

create table salary(userid int, salary decimal(9,2));

Insert some test data

insert into salary values ​​(1,1000),(2,2000),(3,3000),(4,4000),(5,5000),(1,null);

The data is as follows

mysql> select * from salary;
+--------+---------+
| userid | salary |
+--------+---------+
| 1 | 1000.00 |
| 2 | 2000.00 |
| 3 | 3000.00 |
| 4 | 4000.00 |
| 5 | 5000.00 |
| 1 | NULL |
+--------+---------+
6 rows in set (0.00 sec)

Next, this table will be used to introduce the application of each function.

IF(expr1, expr2, expr3) function: Here, employees with a monthly salary of more than 2,000 yuan are considered high-paid, represented by "high"; while employees with a monthly salary of less than 2,000 yuan are considered low-paid, represented by 'low'.

mysql> select if(salary>2000, 'high', 'low') from salary;    
+--------------------------------+
| if(salary>2000, 'high', 'low') |
+--------------------------------+
| low |
| low |
| high |
| high |
| high |
| low |
+--------------------------------+
6 rows in set (0.00 sec)

IFNULL(expr1, expr2) function: This function is generally used to replace NULL values. We know that NULL values ​​cannot participate in numerical operations. The following statement replaces NULL values ​​with 0.

mysql> select ifnull(salary,0) from salary;
+------------------+
| ifnull(salary,0) |
+------------------+
| 1000.00 |
| 2000.00 |
| 3000.00 |
| 4000.00 |
| 5000.00 |
| 0.00 |
+------------------+
6 rows in set (0.00 sec)

CASE WHEN [value1] THEN [result1]… ELSE [default] END function: Here we can use the case when..then function to solve the problem of high salary and low salary in the above example.

mysql> select CASE WHEN salary<=2000 THEN 'low' else 'high' END from salary;
+---------------------------------------------------+
| CASE WHEN salary<=2000 THEN 'low' else 'high' END |
+---------------------------------------------------+
| low |
| low |
| high |
| high |
| high |
| high |
+---------------------------------------------------+
6 rows in set (0.00 sec)

CASE [expr] WHEN [value1] THEN[result1]… ELSE[default] END function: Here you can also divide the employee's salary into multiple levels according to multiple situations, such as the following example, which is divided into three situations: high, medium and low. The same can be divided into more situations. I will not give examples here. Friends who are interested can test it themselves.

mysql> select CASE salary WHEN 1000 THEN 'low' when 2000 THEN 'mid' ELSE 'high' END from salary;
+-----------------------------------------------------------------------+
| CASE salary WHEN 1000 THEN 'low' when 2000 THEN 'mid' ELSE 'high' END |
+-----------------------------------------------------------------------+
| low |
| mid |
| high |
| high |
| high |
| high |
+-----------------------------------------------------------------------+
6 rows in set (0.00 sec)

Readers who are interested in more MySQL-related content can check out the following topics: "Summary of MySQL Common Functions", "Summary of MySQL Log Operation Skills", "Summary of MySQL Transaction Operation Skills", "Summary of MySQL Stored Procedure Skills" and "Summary of MySQL Database Lock-Related Skills".

I hope this article will be helpful to everyone's MySQL database design.

You may also be interested in:
  • How to use MySQL common functions to process JSON
  • Common usage tutorial of mysql_fetch_* functions in PHP operation of MySQL
  • Detailed explanation of Mysql function call optimization
  • Example tutorial on using the sum function in MySQL
  • Specific use of MySQL segmentation function substring()
  • Use of MySQL DATE_FORMAT function
  • Common functions of MySQL basics

<<:  Vue uses el-tree lazy loading to implement the add, delete, modify and query functions

>>:  A complete tutorial on installing Ubuntu 20.04 using VMware virtual machine

Recommend

Analysis of uniapp entry-level nvue climbing pit record

Table of contents Preface Hello World image Set b...

How to process local images dynamically loaded in Vue

Find the problem Today I encountered a problem of...

Linux Domain Name Service DNS Configuration Method

What is DNS The full name of DNS is Domain Name S...

How to modify the length limit of group_concat in Mysql

In MySQL, there is a function called "group_...

Sharing tips on using Frameset to center the widescreen

Copy code The code is as follows: <frameset co...

Introduction to the use of em in elastic layout in CSS3: How many pixels is 1em?

I have been using CSS for a long time, but I have...

4 functions implemented by the transform attribute in CSS3

In CSS3, the transform function can be used to im...

Count the list tags in HTML

1. <dl> defines a list, <dt> defines ...

JS realizes the card dealing animation

This article example shares the specific code of ...

js implements the classic minesweeper game

This article example shares the specific code of ...

Web lesson plans, lesson plans for beginners

Teaching Topics Web page Applicable grade Second ...

JavaScript to implement slider verification code

This article shares the specific code of JavaScri...

MySQL database introduction: detailed explanation of database backup operation

Table of contents 1. Single database backup 2. Co...