sql – 从table1中选择*不存在于table2中的条件
发布时间:2020-05-23 15:18:34 所属栏目:MsSql 来源:互联网
导读:我有2张桌子一个是可以学习的东西的表.有一个JID指定每一行,并且对每一行都是唯一的.第二个表是已经学习的东西(JID)的日志,也是学习它的人的用户标识.我目前正在使用它来选择JID的所有数据,但只有用户基于userid所学习的数据. SELECT * FROM tablelist1LEFT J
|
我有2张桌子一个是可以学习的东西的表.有一个JID指定每一行,并且对每一行都是唯一的.第二个表是已经学习的东西(JID)的日志,也是学习它的人的用户标识.我目前正在使用它来选择JID的所有数据,但只有用户基于userid所学习的数据. SELECT *
FROM tablelist1
LEFT JOIN tablelog2 ON (tablelist1.JID = tablelog2.JID)
AND tablelog2.UID = 'php var'
WHERE tablelog2.JID IS NOT NULL
我现在需要选择要学习的行的行,但只有用户标识没有学到的东西.我显然很新,忍受我. :)我尝试使用IS NULL,但似乎它的工作原理,它给了重复的JID的一个是NULL,一个是正确的. 解决方法使用LEFT JOIN / IS NULL:SELECT t.*
FROM TABLE_LIST t
LEFT JOIN TABLE_LOG tl ON tl.jid = t.jid
WHERE tl.jid IS NULL
使用NOT IN: SELECT t.*
FROM TABLE_LIST t
WHERE t.jid NOT IN (SELECT tl.jid
FROM TABLE_LOG tl
GROUP BY tl.jid)
使用NOT EXISTS: SELECT t.*
FROM TABLE_LIST t
WHERE NOT EXISTS(SELECT NULL
FROM TABLE_LOG tl
WHERE tl.jid = t.jid)
FYI (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读
