SQL使用减去函数来消除特定列中的行但返回表中的所有列

时间:2016-04-27 15:59:08

标签: sql oracle-sqldeveloper

我正在尝试返回数据库中的所有列,其中某些列中的某些行已被消除。有没有办法做到这一点?我尝试使用这样的代码,但我不确定我缺少什么才能使这项工作

var homeWordsWord = {
    name: 'home.words.word',
    url: '/:wordId',
    template: '<div ui-view></div>'
};

2 个答案:

答案 0 :(得分:2)

您可以使用WHERE NOT EXISTS

执行此操作
Select  T1.*
From    Table1  T1
Where Not Exists
(
    Select  *
    From    Table2  T2
    Where   T2.Column1 = T1.Column1
)

或者,您可以使用LEFT OUTER JOIN

Select      T1.*
From        Table1  T1
Left Join   Table2  T2  On  T2.Column1 = T1.Column1
Where       T2.Column1 Is Null

甚至是WHERE NOT IN

Select  *
From    Table1
Where   Column1 Not In 
(
    Select  Column1
    From    Table2
)

我建议使用WHERE NOT EXISTS方法,但要修复问题中的查询,只需添加WHERE IN

Select  *
From    Table1
Where   Column1 In 
(
    Select  Column1
    From    Table1
    Minus
    Select  Column1
    From    Table2
)

答案 1 :(得分:0)

试试这个: select * from table1 where column1 in (从table1中选择column1 减去 从table2)中选择column1;