Une sous-requête, également connue sous le nom de requête interne ou requête imbriquée, est une requête dans une autre requête SQL. Il est placé entre parenthèses et est exécuté en premier pour fournir des résultats que la requête externe utilise pour un traitement ultérieur.
Exemple :
Trouvez le nom de l'employé avec le salaire le plus élevé :
SELECT Name FROM Employees WHERE Salary = (SELECT MAX(Salary) FROM Employees);
Exemple :
Trouver des employés qui travaillent dans des départements comptant plus de 5 membres :
SELECT Name FROM Employees WHERE DepartmentID IN (SELECT DepartmentID FROM Departments WHERE Members > 5);
Exemple :
Trouver des employés gagnant plus que le salaire moyen de leur service :
SELECT Name, Salary FROM Employees E WHERE Salary > (SELECT AVG(Salary) FROM Employees WHERE DepartmentID = E.DepartmentID);
Exemple :
Trouvez les départements où le salaire moyen des employés dépasse 50 000 $ :
SELECT Name FROM Employees WHERE Salary = (SELECT MAX(Salary) FROM Employees);
SELECT Name FROM Employees WHERE DepartmentID IN (SELECT DepartmentID FROM Departments WHERE Members > 5);
SELECT Name, Salary FROM Employees E WHERE Salary > (SELECT AVG(Salary) FROM Employees WHERE DepartmentID = E.DepartmentID);
SELECT DepartmentName FROM Departments WHERE DepartmentID IN ( SELECT DepartmentID FROM Employees WHERE Salary > (SELECT AVG(Salary) FROM Employees) );
SELECT * FROM Products WHERE Price > (SELECT AVG(Price) FROM Products);
Les sous-requêtes sont un outil puissant en SQL pour décomposer une logique complexe en parties gérables, permettant une analyse dynamique des données et facilitant la manipulation des données. Cependant, pour optimiser les performances des requêtes, il est essentiel de comprendre quand utiliser des sous-requêtes par rapport à des alternatives telles que les jointures.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!