Une sous-requête est une requête imbriquée à l’intérieur d’une autre requête dans MariaDb (ou SQL de manière générale). Vous pouvez les utiliser dans SELECT, INSERT, UPDATE, DELETE et d’autres opérations, en fonction de vos besoins.
Voici comment vous pouvez utiliser les sous-requêtes dans MariaDB:
1. Sous-requêtes dans la clause SELECT: Elles produisent une liste de valeurs qui peut être utilisée par la requête externe.
Exemple:
```
SELECT name
FROM employees
WHERE salary >
(SELECT AVG
FROM employees);
```
1. Sous-requêtes dans la clause FROM : De la même manière que vous utilisez une table ou une vue dans la clause FROM, vous pouvez utiliser une sous-requête.
Exemple :
```
SELECT max_count, emp_count
FROM
(SELECT COUNT emp_count
FROM employees) AS subquery1
JOIN
(SELECT COUNT max_count
FROM managers) AS subquery2
ON subquery1.emp_count = subquery2.max_count;
```
1. Sous-requêtes dans la clause WHERE : Vous pouvez utiliser une sous-requête dans la clause WHERE pour comparer une colonne avec un ensemble de valeurs.
Exemple :
```
SELECT *
FROM employees
WHERE employee_id IN
(SELECT employee_id
FROM departments
WHERE department_name = ‘Marketing’);
```
1. Sous-requêtes dans la clause INSERT : Vous pouvez utiliser une sous-requête pour insérer des données.
Exemple :
```
INSERT INTO managers(manager_id)
SELECT employee_id
FROM employees
WHERE title = ‘Manager’;
```
Notez que les sous-requêtes sont parfois plus lent à exécuter, il est donc important de veiller à l’optimisation de vos requêtes et sous-requêtes.