sql - 删除同一个表上从 select 查询中选择的记录

标签 sql sql-server oracle oracle-sqldeveloper

我需要删除从子查询中获得的一些记录。

假设 EMP 表包含 EMPNAMEEMPSALARY 列,主键是 EMPNAME、EMPSALARY< 的组合.

delete from emp 
where exists (
        select * 
        from EMP ***** //query which fetch few records from EMP table);

上述查询不起作用。

感谢您的帮助。

最佳答案

可以直接在where子句中给出条件

delete from emp where <conditions>;

否则你可以这样做

DELETE FROM Table1 T1
WHERE EXISTS (SELECT column1 FROM table2 T2
               WHERE T1.column1 = T2.column1 
                 AND T1.Column2 = T2.column2 );

关于sql - 删除同一个表上从 select 查询中选择的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26067004/

相关文章:

sql-server - 聚簇索引 SQL Server

c# - StoreGeneratedPattern 不适用于 DevArt Entity Framework ?

database - 需要有关 Oracle 10g Express Edition 的帮助

javascript - laravel5删除,如何将2个参数传递给DELETE操作

sql - 使用 SQL 序数位置表示法的好处?

mysql - 从两个不同的表中选择数据

sql-server - SQL Server 最后日期

sql - 表分区,哪个更好?

sql - 如何在 SQL DB 上验证由连字符分隔的 2 年的 varchar 数据

mysql - 在时间列表中查找时间间隔