您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从带条件的表2中不存在的表1中选择*

从带条件的表2中不存在的表1中选择*

使用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)

使用不存在:

SELECT t.*
  FROM TABLE_LIST t
 WHERE NOT EXISTS(SELECT NULL
                    FROM TABLE_LOG tl
                   WHERE tl.jid = t.jid)

LEFT JOIN / IS NULL和NOT IN在MysqL中是等效的-它们将执行相同的操作,而NOTEXISTS则较慢/效率较低。

其他 2022/1/1 18:52:45 有517人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶