开发者社区> 问答> 正文

下面SQL语句 中 exists的用法

下面2句SQL,我都知道是什么意思,一个用的是exists,一个用的是in.
可我就是不理解为什么exists用在这里,就可以呢?
screenshot

展开
收起
吴孟桥 2016-06-12 16:40:31 2233 0
1 条回答
写回答
取消 提交回答
  • 1、这句关键是Select 1 from SC SC_2 where SC_2.S# = SC.S# and SC_2.C# = '02',如果有记录,则值是1,也就是存在,注意条件SC_2.S# = SC.S#

    2、这里根据 Student.S# = SC.S# ,则Student.S# 相当于SC.S#,在根据子句中SC_2.S# = SC.S#这个条件,那么Select S# from出来的数据S#肯定会等于SC.S#。也就是 SC.S# in(Select S# from SC SC_2 where SC_2.S# = SC.S# and SC_2.C# = '02') 只要SC_2.S# = SC.S# 有记录,肯定成立。

    所以上面两句是等价的

    2019-07-17 19:34:31
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载