我有两个表 
一个是class 表 里面放的是的class name1 name2  name3 
一个是score表 里面放的是的 name score1  score2 
我现在想查询在score表中的name在 user表中name1 name2 name3都不存在的人   因为 user表中有些人删除了但没有删除对应的score表的。我想把他们删除了。应该怎么写?

解决方案 »

  1.   

    好象和class表没什么关系啊.
        [align=center]====  ====
    [/align]
    .
    贴子分数<20:对自已的问题不予重视。
    贴子大量未结:对别人的回答不予尊重。
    .
      

  2.   

    select *
    from score
    where name not in (
    select name1 from user 
    union 
    select name2 from user 
    union 
    select name3 from user).
        [align=center]====  ====
    [/align]
    .
    贴子分数<20:对自已的问题不予重视。
    贴子大量未结:对别人的回答不予尊重。
    .
      

  3.   

    select *
    from score as s left join (
    select name1 from user 
    union 
    select name2 from user 
    union 
    select name3 from user) as u
    on s.name=u.name1
    where s.name is not null.
        [align=center]====  ====
    [/align]
    .
    贴子分数<20:对自已的问题不予重视。
    贴子大量未结:对别人的回答不予尊重。
    .
      

  4.   

    想把他们删除了。delete from score
    where name not in (
    select name1 from user 
    union 
    select name2 from user 
    union 
    select name3 from user);.
        [align=center]====  ====
    [/align]
    .
    贴子分数<20:对自已的问题不予重视。
    贴子大量未结:对别人的回答不予尊重。
    .
      

  5.   

    数据库跑了半天还没出结果怎么办?CPU满的。数据库 name 2M  scorce 200M 都已经一个晚上了  还没结果。是不是有问题?