玖叶教程网

前端编程开发入门

Transact-SQL学习笔记15——相关子查询

相关子查询是指引用了外部查询中出现的表的列的子查询。

  • 子查询要依赖于外部查询,不能独立地调用运行它。
  • 在逻辑上,子查询会为每个外部行单独计算一次
  • 子查询需要为外部查询运行的行数据量较大时,性能降低会很明显。

SELECT * FROM employee a

where a.employee_id =

(SELECT MAX(b.employee_id) from salary b

where b.salary >2000 and a.employee_id =b.employee_id)



子查询调用了 employee表中字段 所以无法独立执行

相关子查询会对外部查询中的每个 employee_id进行一次运算当salary大于2000时取出employee_id,如果一个员工多项工资高于2000分,则通过MAX(employee_id)只取其中一个employee_id以满足“=”运算符的规则。

每一次相关子查询的运算都是相互独立、互不干扰的,甚至可以将其理解为多次独立子查询。


学习参考资料:《跟韩老师学 SQL Server 数据库设计与开发》

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言