sql – 删除语句 – 子查询应该抛出错误
我创建了两个表,T1和T2,每个表分别有一列,abc和xyz.我在每个表中插入了2行(数值1和2).
当我运行命令“从t2选择abc”时,它会抛出一个错误,表示表T2中不存在列abc.但是,当我运行命令“从t1删除abc in(SELECT abc from t2);”时,删除2行. 不应该删除失败,因为我使用了在子查询中失败的相同语句?
解决方法如果您使用表名作为别名以确保选择了表t2列,您??将收到错误,即delete from t1 where abc in (SELECT t2.abc from t2); --ORA-00904 您的原始查询没有失败,因为它使用表t1的abc列,因为表t1在子查询中可见. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |