多表查询-子查询概述,子查询情况1,子查询情况2,子查询情况3

多表查询-子查询概述

 概念:查询中嵌套查询,称嵌套查询为子查询

1
2
3
4
5
6
7
8
9
-- 查询工资最高的员工信息
-- 1.查询最高的工资是多少
SELECT MAX(salary) FROM emp
 
-- 2.查询员工信息,并且工资等于9000
SELECT * from emp where emp.salary = 9000
 
-- 用一条sql语句完成上面两条语句
SELECT * FROM emp where emp.salary = (SELECT MAX(salary) FROM emp)

 

子查询的不同情况:

子查询情况1:

子查询的结果是单行单列的

子查询可以作为条件,使用运算符去判断,运算符:>  <   >=   <=   =

1
-- 查询员工工资小于平均工资的人

SELECT AVG(salary) FROM emp 
SELECT * FROM emp where emp.salary < (SELECT AVG(salary) FROM emp)

 

子查询情况2:

子查询的结果是多行单列的

子查询可以作为条件,使用运算符in来判断

1
2
3
4
5
6
7
-- 查询'财务部''市场部'所有 的员工信息
SELECT id FROM dept where name = '财务部' or name = '市场部'
SELECT * from emp  where dept_id = 3 or dept_id = 2
 
 
SELECT * FROM emp where dept_id in (SELECT id FROM dept where name = '财务部' or name = '市场部')
SELECT * FROM emp where dept_id in (3,2)

 

子查询情况3

子查询结果是多行多列的

 

1
2
3
4
5
6
-- 查询员工入职日期是2011-11-11日之后的员工信息和部门信息
-- 子查询
SELECT * FROM dept t1,(SELECT * FROM emp where emp.join_date > 2011-11-11) t2 where t1.id = t2.dept_id
 
-- 普通内连接
SELECT * FROM emp t1,dept t2 where t1.dept_id = t2.id and t1.join_date > '2011-11-11'

 

  

 

posted @   漁夫  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示