有表AA和BB
AA是一张产品表,其中有一个字段叫CPLX(产品类型),取值应该来自BB中的CPLXBH(产品类型编号)
因为某些原因,AA中的一些记录的CPLX的值是在BB的CPLXBH中没有的,我现在的任务就是把这些记录找出来.我写的SQL是这样的
Select * from AA where CPLX not in (Select CPLXBH from BB)请问大家一般是怎么做的?

解决方案 »

  1.   

    Select * from AA where CPLX not in (Select CPLXBH from BB)
      

  2.   

    写成
    $$$~ Select * from AA where CPLX not in (Select CPLXBH from BB) ~$$$
    好看了吧
      

  3.   

    就是这样写没有
    没听说写SQL语句还要雅致.那不如去养花.
      

  4.   

    我是新手,发表一下自己的看法:
    AA中的一些记录的CPLX的值是在BB的CPLXBH中没有的,那是不是可以理解为在BB中的值为NULL呢?  Select * from AA where CPLX  in (Select CPLXBH from BB where CPLXBH = NULL)
      

  5.   

    这样行吗?后面是个=试,其值应该是真或假吧,in真假好象不太对尽哦
    楼主如果觉的不雅就改写成两个SQL好了,哈哈
      

  6.   

    select * from AA join BB on AA.CPLX<>BB.CPLXBH
    连接的性能比子查询要好
      

  7.   

    对,join的等于可不能反着用,否则只能得到几乎是自然连接的结果