mysql> select name,family from member as d
where mov in(select d.mov from d);
.
ERROR 1146 (42S02): Table 'film.d' doesn't exist
mysql> select name,family from member as d
where mov in(select d.mov from d);
.
ERROR 1146 (42S02): Table 'film.d' doesn't exist
d
在您的子查询(select d.mov from d)
中不是有效的表名。您是否尝试在此处使用别名 d 对成员表进行某种相关查询?
mysql 正在寻找绝对不存在的表 d。
select name,family from member d
where mov in(select d.mov from member d);
d
无效,因为您不能将外部查询的别名用于内部查询(子查询)。您必须在子查询中重新定义表的别名。
忽略查询除了选择成员表中的所有行之外实际上没有执行任何操作的事实,它不起作用的原因是您不能在子查询中使用外部别名“d”。尝试这个:
SELECT name, family FROM member WHERE mov in (SELECT mov from member)