我创建了两个表,T1 和 T2,每个表都有一列,分别是 abc 和 xyz。我在每个表中插入了 2 行(数值 1 和 2)。
当我运行命令"select abc from t2"
时,它会抛出一个错误,指出表 T2 中不存在列 abc。但是,当我运行命令时"delete from t1 where abc in (SELECT abc from t2);"
,会删除 2 行。
不应该删除失败,因为我使用了在子查询中失败的相同语句吗?
创建表 t1(abc 编号);--创建的表
创建表 t2(xyz 编号);--创建的表
插入 t1 值 (1); --插入一行
插入 t1 值 (2); --插入一行
插入 t2 值 (1); --插入一行
插入 t2 值 (2); --插入一行
从 t2 中选择 abc;--ORA-00904 -> 因为列 abc 在 t2 中不存在
从 t1 中删除 abc in (SELECT abc from t2); --2 行已删除