Exists语句未起到筛选功能

Exists语句原理就是每一个instructor行都会放入exists括号内进行匹配,如果下面的语句中存在符合where的要求的行,则该行加入结果中

所以假如把where语句改成单单salary>60000,则数据库中只要存在大于60000的行,那么instructor每一列对应的都会是真,结果如下图

Exists语句原理就是每一个instructor行都会放入exists括号内进行匹配,如果下面的语句中存在符合where的要求的行,则该行加入结果中

所以假如把where语句改成单单salary>60000,则数据库中只要存在大于60000的行,那么instructor每一列对应的都会是真值,都会返回,举salary=40000的列为例子,他也会把salary=75000这一行放入下面的where语句,所以40000也会返回

但如果加入i.salary=instructor.salary这一行,再举40000这个例子,对于那些salary大于60000的行来说,i.salary!=instructor.salary,因此exists括号内为假,对于salary=40000这一行来说,salary>60000为假,因此括号内始终为假,40000不会被加进结果中

下面附上instructor表格中全部数据

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值