#二、放在select后面
#案例:查询每个部门的员工个数
SELECT d.*,(SELECT COUNT(*) FROM`employees` eWHERE e.`department_id`=d.`department_id`)  个数
FROM`departments` d;#案例2:查询员工号=102的部门名#(1)查询员工号=102的部门号SELECT `department_id`FROM `employees`WHERE `employee_id`=102;#查询部门号为(1)的部门名SELECT `department_name`FROM `departments`WHERE `department_id`=(SELECT `department_id`FROM `employees`WHERE `employee_id`=102  );#正解SELECT (SELECT `department_name`FROM `departments` dINNER JOIN `employees` eON d.`department_id`=e.`department_id`WHERE  e.`employee_id`=102) 部门名;
#注意:select语句后面只能是一行一列,不能多行多列,会报语法错误。  
#二、放在select后面
#案例:查询每个部门的员工个数
SELECT d.*,(SELECT COUNT(*) FROM`employees` eWHERE e.`department_id`=d.`department_id`)  个数
FROM`departments` d;#案例2:查询员工号=102的部门名#(1)查询员工号=102的部门号SELECT `department_id`FROM `employees`WHERE `employee_id`=102;#查询部门号为(1)的部门名SELECT `department_name`FROM `departments`WHERE `department_id`=(SELECT `department_id`FROM `employees`WHERE `employee_id`=102  );#正解SELECT (SELECT `department_name`FROM `departments` dINNER JOIN `employees` eON d.`department_id`=e.`department_id`WHERE  e.`employee_id`=102) 部门名;
#注意:select语句后面只能是一行一列,不能多行多列,会报语法错误。  #三、from后面的子查询
#将子查询结果充当一张表,要求必须起别名。
#案例:查询每个部门的平均工资的工资等级
#(1)查询每个部门的平均工资
SELECT AVG(`salary`),`department_id`
FROM `employees`
GROUP BY `department_id`;
#(2)连接(1)的结果集和job_grades表,筛选条件平均工资between lowest_sal and highest_salSELECT ag_dep.*,g.`grade_level`
FROM (SELECT AVG(`salary`) ag,`department_id`FROM `employees`GROUP BY `department_id`
) ag_depINNER JOIN job_grades g
ON  ag_dep.ag BETWEEN lowest_sal AND highest_sal ;#exists后面的子查询(相关子查询),只关心有没有值
/*
语法:
select(完整的查询语句);
结果:
1或0
*/
SELECT EXISTS(SELECT `employee_id` FROM `employees`);
SELECT EXISTS(SELECT `employee_id` FROM `employees` WHERE `salary`=30000);
#案例1:查询有员工的部门名
SELECT  `department_name`
FROM `departments` d
WHERE EXISTS(
SELECT *
FROM `employees` e
WHERE  d.`department_id`=e.`department_id`
);
#使用in的方式
SELECT `department_name`
FROM `departments` d
WHERE `department_id`
IN(SELECT `department_id`FROM `employees` e);#案例2:查询没有女朋友的男神信息
#in
SELECT bo.*
FROM `boys` bo
WHERE bo.id NOT IN(SELECT b.`boyfriend_id`FROM `beauty` b
);#exists
SELECT bo.*
FROM `boys` bo
WHERE NOT EXISTS(SELECT b.`boyfriend_id`FROM `beauty` bWHERE bo.`id`=b.`boyfriend_id`
);

select后面的子查询相关推荐

  1. MySQL select后面的子查询使用

    select后面 仅仅支持标量子查询 #案例:查询每个部门的员工个数 SELECT d.*,(SELECT COUNT(*)FROM employees eWHERE e.department_id ...

  2. mysql非结构化查询_Mysql(2.3) 简单查询(SELECT)、子查询

    结构化查询语言(sql) SQL概念和规则 关键字:SQL语言保留的字符串(SELECT FORM) 语句:一条完整的SQL命令(SELECT * FROM dept) 子句:部分的SQL语句,通常由 ...

  3. select ..from..where..=(select ..from ..where=‘‘)子查询的用法及理解

    use xie go select *from Table_1 select *from table_6 select *from table_4select *from Table_1 where ...

  4. 在select后面嵌套子查询

    案例:找出每个员工所在的部门名称,要求显示员工名和部门名.

  5. oracle复杂的子查询,Oracle 子查询(复杂select语句)

    在执行数据操作时,如果某个操作需要依赖于另外一个 select语句的查询结果,那么就可以把 select 语句迁入到该操作语句中,这样就形成了一个子查询.实际应用中,表与表之间相互关联,相互依存,这样 ...

  6. SELECT高级查询——连接查询、子查询(多表数据查询)

    在实际中,经常是从多张表中查询数据.本节学习多表连接查询.子查询等高级SELECT语句的应用. 1.简单连接查询 多表查询是指SELECT命令中显示的列来源于多个数据表: 连接查询将多个表以某个或某些 ...

  7. mybatis 一对多关系映射 select子查询 只有一条数据 解决方案

    一般一对多 多的那个会是联合主键 所以要这么设置 <resultMap id="CfdMap" type="com.sxq.cloud.entity.ZhyyB2C ...

  8. MySQL讲义第 30 讲——select 查询之子查询

    MySQL讲义第 30 讲--select 查询之子查询 文章目录 MySQL讲义第 30 讲--select 查询之子查询 一.标量子查询 1.查询高于所有员工平均工资的员工信息 2.查询工资比王涛 ...

  9. MySQL 学习笔记(16)— 子查询(单行单列、一行多列、多行多列、 ALL、ANY、SOME 运算符、EXISTS 操作符)

    1. 子查询概念 子查询是指嵌套在其他语句(SELECT . INSERT . UPDATE . DELETE 等)中的 SELECT 语句:子查询也称为内查询( inner query )或者嵌套查 ...

  10. SQL Server 2005系列教学(6) 多表操作及子查询

    多表查询:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 人事 ...

最新文章

  1. HttpApplication事件ASP.NET页面周期
  2. .Net Core with 微服务 - 可靠消息最终一致性分布式事务
  3. python requests cookie_python requests 带cookie访问页面
  4. rust 死后不知道家在哪_女朋友问去哪吃饭别说不知道了,郑州这几家餐厅最适合情侣约会。...
  5. 【恋上数据结构】排序算法大全
  6. 实战丨基于接口的银行系统自动化测试实践
  7. 一张图11招学会Python网络黑客
  8. Windows Mobile下猜数字游戏的TDD实现
  9. 写一个线程安全的单例模式
  10. 最新emoji表情代码大全_微信表情包大全 百度输入法让你斗图斗到爽
  11. 设计在链式存储结构上交换二叉树中所有结点左右子树的算法
  12. 阿里云企业飞天会员是什么,如何申请?
  13. 台式计算机用电视机做显示器,用电视机当显示器会不会亮瞎眼?答案在此
  14. UMLChina建模竞赛第3赛季第7轮:假烟假酒假朋友,假情假意假温柔
  15. 《谁说菜鸟不会数据分析 入门篇》学习笔记
  16. Android处理二维码扫码枪数据
  17. iOS:多效果的CategoryView
  18. Policy Evaluation收敛性、炼丹与数学家
  19. div的display属性和visibility属性
  20. pycharm执行cmd命令报错‘nohup‘ �����ڲ����ⲿ���Ҳ���ǿ����еij������������ļ���

热门文章

  1. Krpano元素的一些解析
  2. 如何启用计算机的远程服务,如何启用远程Windows命令行管理程序
  3. 计算机音乐研究生专业,约翰霍普金斯大学计算机音乐音乐硕士研究生申请要求及申请材料要求清单...
  4. vrp java_在VRP平台上,直连路由、静态路由、RIP、OSPF的默认协议优先级从高到低的排序是( )。...
  5. 计算机数据库基础知识填空题,数据库练习题(基础)
  6. SparkStreaming的背压机制
  7. 同一目录下批处理执行Word宏
  8. Java多线程篇--基本概念
  9. 【复数表达】Deep Complex Network
  10. 离散数学 (上)小结