The NULLS LAST Function in Oracle SQL / PLSQL is used to place the NULL records at the end in the fetched records.
Syntax for using the NULLS LAST function in Oracle SQL / PLSQL is ;
SELECT column(s)
ROW_NUMBER() OVER (ORDER BY column NULLS LAST)
FROM table_name;
Suppose we have a table named ‘employee’ as shown below:
Employee_ID | Employee_Name | Salary | Department | Commission |
101 | Emp A | 10000 | Sales | 10 |
102 | Emp B | 20000 | IT | 20 |
103 | Emp C | 28000 | IT | 20 |
104 | Emp D | 30000 | Support | |
105 | Emp E | 32000 | Sales | 10 |
106 | Emp F | 40000 | Sales | 10 |
107 | Emp G | 12000 | Sales | 10 |
108 | Emp H | 12000 | Sales |
Now, suppose we want to see the employee_name and commission and also want that the employee records having no commission should be listed LAST then we can achieve the same using NULLS LAST function as:
SELECT employee_name ,commission ,ROW_NUMBER () OVER (ORDER BY commission NULLS LAST) SNO FROM employee;
We will get the following result:
Employee_Name | Commission | SNO |
Emp G | 10 | 1 |
Emp A | 10 | 2 |
Emp E | 10 | 3 |
Emp F | 10 | 4 |
Emp B | 20 | 5 |
Emp C | 20 | 6 |
Emp H | 7 | |
Emp D | 8 |
Here we can see that we have successfully fetched employees having no commission LAST in the list.