SQL子查询

本文介绍了SQL中三种子查询的关键用法:IN关键字用于检查特定列的值是否存在于子查询的结果集中;EXISTS关键字用于判断子查询是否有结果返回;比较运算符则直接用于比较子查询返回的单一值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

子查询使用的关键字

1.IN关键字

确定某行的特定列的值是否包含在子查询的结果集中。例如,使用子查询查看所有部门在某一地区(1700)的雇员信息。

select employee_id,last_name,department_id

from employees

where department_id in(

           select department_id

           from departments

           where location_id=1700);

2.EXISTS关键字

EXISTS关键字只注重子查询是否返回行,如果子查询返回一个或多个行,那么EXISTS便返回为TRUE,否则返回FALSE。要使EXISTS关键字有意义,则应在子查询中建立搜索条件。

select employee_id,last_name from employees em

where exists(

           select * from departments dep

           where em.department_id =dep.department_id

           and location_id=1700);

3.比较运算符

如果可以确认子查询返回的结果只包含一个单值,那么可以直接使用比较运算符链接子查询。经常使用的比较运算符有:=(等于)、<>(不等于)、<、>、<=、>=。eg:查询employees表,将薪资大于本职位平均薪资的雇员信息显示出来。

select employee_id,last_name,job_id,salary

from employees

where job_id='PU_MAN' and

          salary>=(select avg(salary)) from employees


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值