• 首页课程SQL趣味课堂数据库子查询

    数据库子查询

    目录列表

    子查询

    当一个查询是另一个查询的条件时,称之为 子查询

    例如,我们想要知道所有工资大于平均值的员工名单。

    首先,我们计算出所有工资的平均值:

    SELECT AVG(Salary) FROM employees;

    当我们已经知道工资平均值为 “3450” 时,我们可以使用 WHERE 来列出大于该平均值的工资。

    SQL 语句如下所示:

    SELECT FirstName, Salary FROM employees 
    WHERE  Salary > 3450
    ORDER BY Salary DESC;

    执行输出结果:

    {_E)0O$]6{T5K4$6%~[Q3I1.png

    DESC 关键字按降序排列结果,ASC 关键字按升序排列结果。

    填写空格处,从 "items" 表中选择 cost 大于 "500" 的所有项目,按降序对 cost 进行排序。

    SELECT * FROM items cost > 500 cost ;

    子查询

    单个子查询将更容易地返回相同的结果。

    SELECT FirstName, Salary FROM employees 
    WHERE  Salary > (SELECT AVG(Salary) FROM employees) 
    ORDER BY Salary DESC;

    执行输出相同的结果:

    T9JE$FQZ40JK([I)R9DIZ[6.png

     注意:将子查询括在括号中。另外,子查询结尾处没有分号,因为它是单个查询的一部分。

    填写空白,从 "items" 表中选择 cost 大于平均值的所有项目。使用子查询来计算平均值。

    SELECT * FROM items cost > (SELECT (cost) FROM );

    PHP中文网