SELECT A FROM C AS X WHERE EXISTS (SELECT A FROM C AS Y WHERE Y.A = X.A);帮我详尽解释一下这句话的意思,比如说“where y.a = x.a”是什么意思,谢谢。

解决方案 »

  1.   

    where y.a = x.a
    y表的a 等于x表的 a
      

  2.   

    这句SQL就是找到表C中的所有的数据真是让人无语的用法啊。具体解释如下:
    首先是在表C是查找符合以下条件的记录:
    条件是表C中的所有的A在表C中都能找到。。无语了。其中where y.A = x.A这句话中x是第1个C表,y是子查询中的c表,两个c表中的A相比较,肯定是都存在的。
      

  3.   

    都是C表,起了两个别名而已,其实就是C表本身关联本身,查询出C表的所有数据
      

  4.   

    你这个 语句  那就跟 select * from C 一样的 有什么可比的 
      

  5.   

    --事实证明还是查询comm不为空的
    已写入 file afiedt.buf  1* select comm from emp a where exists (select 1 from emp b where a.comm=b.comm)
    SQL> /      COMM
    ----------
           300
           500
          1400
      

  6.   

    exists 后面跟一个select的子查询,如果子查询中有记录,exists 结果为true,没有记录就是false
      

  7.   

    exists要判断后面的内容
    是否存在的意思