如何删除不在2个表的连接中的东西?

Exi*_*tos 2 sql t-sql

我有一个问题,我想删除孤立的记录.我想知道删除不在连接中的记录的语法是什么.

所以,如果我的查询得到的东西(我不想删除):

select * from tbl_user tu
inner join tbl_user_group_xref tugx on tu.userid=tugx.userid
Run Code Online (Sandbox Code Playgroud)

然后,我如何1)获得不在条款中的东西,2)删除它?

喜欢不使用数组,但数组解决方案仍然有助于学习目的.

Dun*_*owe 9

尝试

delete tbl_user 
  from tbl_user tu 
  left join tbl_user_group_xref tugx on tu.userid=tugx.userid 
where tugx.userid is null
Run Code Online (Sandbox Code Playgroud)


hex*_*mal 6

例如:

delete from tbl_user tu
where 
  user_id not in (
    select 
      user_id 
    from 
      tbl_user tu
    inner join 
      tbl_user_group_xref tugx on tu.userid=tugx.userid
) 
Run Code Online (Sandbox Code Playgroud)