请教一个Mysql的查询语句

linkboy2004 2008-06-08 10:45:06
我有两个表
一个是class 表 里面放的是的class name1 name2 name3
一个是score表 里面放的是的 name score1 score2
我现在想查询在score表中的name在 user表中name1 name2 name3都不存在的人 因为 user表中有些人删除了但没有删除对应的score表的。我想把他们删除了。

应该怎么写?
...全文
44 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
linkboy2004 2008-06-10
  • 打赏
  • 举报
回复
数据库跑了半天还没出结果怎么办?CPU满的。数据库 name 2M scorce 200M 都已经一个晚上了 还没结果。。。。是不是有问题?
ccssddnnhelp 2008-06-08
  • 打赏
  • 举报
回复

想把他们删除了。

delete from score
where name not in (
select name1 from user
union
select name2 from user
union
select name3 from user);
.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
ccssddnnhelp 2008-06-08
  • 打赏
  • 举报
回复

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
.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
ccssddnnhelp 2008-06-08
  • 打赏
  • 举报
回复

select *
from score
where name not in (
select name1 from user
union
select name2 from user
union
select name3 from user)
.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
ccssddnnhelp 2008-06-08
  • 打赏
  • 举报
回复

好象和class表没什么关系啊.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧