1:(子查询
子查询是另一个查询中的查询。让我们考虑一个例子。 我们可能需要所有员工的薪水大于平均值的员工名单。
首先,计算平均值:
SELECT AVG(Salary) FROM employees;
由于我们已经知道平均值,我们可以使用一个简单的WHERE列出大于该数字的薪水。
SELECT FirstName, Salary FROM employees
WHERE Salary > 3100
ORDER BY Salary DESC;
DESC关键字按降序排列结果。类似地,ASC按升序对结果进行排序。
结果:
单个子查询将更容易返回相同的结果。
SELECT FirstName, Salary FROM employees
WHERE Salary > (SELECT AVG(Salary) FROM employees)
ORDER BY Salary DESC;
将产生相同的结果。将子查询括在括号中。
另外,请注意,在子查询的末尾没有分号,因为它是我们单个查询的一部分。