s高级ql

╄→гoц情女王★ 提交于 2020-04-04 22:50:31
#select的标量子查询
# 查询每个用户的订单数量
SELECT u.id,u.user_name,u.phone,(SELECT COUNT(1) FROM user_order uo WHERE uo.owner_id=u.id ) as num   FROM sys_user  u;

#查询下过单的用户
SELECT   u.id,u.user_name,u.phone FROM sys_user u WHERE EXISTS (SELECT id FROM user_order uo WHERE uo.owner_id=u.id );

SELECT   u.id,u.user_name,u.phone FROM sys_user u WHERE u.id IN (SELECT DISTINCT uo.owner_id FROM user_order uo  );

 

#查询各部分的工资比本部门平均工资高的人员
# 1查询各部门的平均工资
SELECT
    AVG( salary ) avgSal,emp.department_id FROM  employees emp  GROUP BY  emp.department_id;
    
# 2 将各部门的平均工资作为表关联
SELECT   e.*  FROM    employees e,  ( SELECT AVG( salary ) avgSal, emp.department_id FROM employees emp GROUP BY emp.department_id ) AS avg 
WHERE
    e.department_id = avg.department_id   AND e.salary >= avg.avgSal;

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!