Eine Unterabfrage, auch bekannt als innere Abfrage oder verschachtelte Abfrage, ist eine Abfrage innerhalb einer anderen SQL-Abfrage. Es steht in Klammern und wird zuerst ausgeführt, um Ergebnisse bereitzustellen, die die äußere Abfrage zur weiteren Verarbeitung verwendet.
Beispiel:
Finden Sie den Namen des Mitarbeiters mit dem höchsten Gehalt:
SELECT Name FROM Employees WHERE Salary = (SELECT MAX(Salary) FROM Employees);
Beispiel:
Finden Sie Mitarbeiter, die in Abteilungen mit mehr als 5 Mitgliedern arbeiten:
SELECT Name FROM Employees WHERE DepartmentID IN (SELECT DepartmentID FROM Departments WHERE Members > 5);
Beispiel:
Finden Sie Mitarbeiter, die mehr als das Durchschnittsgehalt ihrer Abteilung verdienen:
SELECT Name, Salary FROM Employees E WHERE Salary > (SELECT AVG(Salary) FROM Employees WHERE DepartmentID = E.DepartmentID);
Beispiel:
Finden Sie Abteilungen, in denen das durchschnittliche Mitarbeitergehalt 50.000 US-Dollar übersteigt:
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);
Unterabfragen sind ein leistungsstarkes Werkzeug in SQL, um komplexe Logik in überschaubare Teile zu zerlegen, eine dynamische Datenanalyse zu ermöglichen und die Datenmanipulation zu erleichtern. Für eine optimale Abfrageleistung ist es jedoch wichtig zu verstehen, wann Unterabfragen im Vergleich zu Alternativen wie Verknüpfungen verwendet werden sollten.
Das obige ist der detaillierte Inhalt vonSQL-Unterabfragen verstehen: Eine vollständige Anleitung mit Beispielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!