子查询:
在执行数据操作,包括查询、添加、修改、删除时,如果某个条件需要依赖于另外一个select语句的查询结果,那么就可以把select 语句嵌入到sql语句中,这样就形成了子查询,实际上,在关系型数据库中,表之间的数据关系是非常密切的,它们相互关联,相互依存,这样就可以根据数据之间的关系,使用相应的子查询从而实现复杂的查询
单行子查询:
是指返回一行数据的子查询语句,(指的是子查询语句只返回一行)当在where子句中引用单行子查询时,可以使用单行比较运算符(>、<、>=、<=、=、<>)
查询薪水在最低工资与最高工资之间的员工的信息:
多行子查询:
返回多行数据的子查询语句,(子查询语句返回的是多行数据)当在where子句中使用多行子查询时,可以使用多行比较符(in 、any 、all)
查询不属于销售部门的员工信息:
关联子查询:
在单行子查询和多行子查询中,内查询与外查询是分开执行的,外查询仅仅是使用内查询的结果,在一些特殊需求的子查询中,内查询的执行要借助外查询,而外查询的执行又离不开内查询的执行,这时内查询与外查询是相互关联的,这种子查询称为关联子查询
查询工资大于同职位的平均工资的员工信息,即在同一岗位中工资大于平均工资的员工信息: