Open In App

What is Nested Select Statement in MariaDB

Nested select statements, normally named subqueries, represent an advanced feature for MariaDB which enables more efficient and thorough querying of the data. Therefore, the nesting of a SELECT statement within another allows us to perform operations and filtering that could be hardly possible with only one query.

In this article, we’ll explore the syntax and multiple examples of nested select statements in MariaDB.



What are Nested Select Statements?

A nested select statement is a kind of select statement that is contained in other SQL statements like SELECT, INSERT, UPDATE or DELETE. The inner SELECT is executed first and then its result is used by the outer expression to do more operations.

Syntax:



SELECT column1, column2, ... FROM table1 WHERE column1 = (SELECT column1 FROM table2 WHERE condition);

Explanation:

Examples of Nested Select Statements

Let’s create an example table and insert some data into it:

Create Table:

CREATE TABLE employees (
employee_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
department_id INT,
salary DECIMAL(10, 2)
);

Insert Data:

INSERT INTO employees VALUES
(1, 'Minal', 'Pandey', 3, 50000.00),
(2, 'Abhilekh', 'Pandey', 2, 60000.00),
(3, 'Soni', 'Pandey', 1, 75000.00),
(4, 'Sudarshan', 'Pandey', 2, 65000.00),
(5, 'Mahi', 'Pandey', 1, 70000.00);

Output:

Employees Table

Explanation: Table got created successfully.

Example 1: Finding Employees with the Highest Salary

Syntax:

SELECT first_name, salary
FROM employees e
WHERE salary = (
SELECT MAX(salary)
FROM employees
);

Output:

Highest Salary

Explanation:

Example 2: Retrieving Employees with Salaries Higher Than the Average Salary

Syntax:

SELECT first_name, salary, department_id
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
);

Output:

Higher Than the Average Salary

Explanation:

Example 3: Finding Employees with the Second Highest Salary

Syntax:

SELECT first_name,last_name, salary, department_id
FROM employees
WHERE salary = (
SELECT DISTINCT salary
FROM employees
ORDER BY salary DESC
LIMIT 1 OFFSET 1
);

Output:

Second Highest Salary

Explanation:

Benefits of Nested Select Statements

Nested select statements offer several benefits:

Conclusion

Nested select statements are an advanced tool in MariaDB, which should be used for doing complex queries and data manipulations. When you are familiar with their structure and the way they operate, then you can take advantage of them to get the data you want from your database in the way that you want in your database applications. Nevertheless, the importance of nested queries should be used wisely and its influence on the application’s performance should be taken into account.


Article Tags :