否定选择SQL查询
发布时间:2021-01-14 23:55:32 所属栏目:编程 来源:网络整理
导读:我的使命是从我们的sql数据库中返回一个否认的选择.我会尽也许地界说尺度.到今朝为止,我还没有建造出有用的查询. 营业表 [公交车名称] [公交车ID] 勾当表 [勾当ID] [公交车ID] 勾当扩展表 [分机ID] [勾当ID] [巴士ID] 我必要在关联表中没有该企业ID#记录的所
我的使命是从我们的sql数据库中返回一个否认的选择.我会尽也许地界说尺度.到今朝为止,我还没有建造出有用的查询. 营业表 [公交车名称] [公交车ID] 勾当表 [勾当ID] [公交车ID] 勾当扩展表 [分机ID] [勾当ID] [巴士ID] 我必要在关联表中没有该企业ID#记录的全部企业的企业名称.简朴地说,全部企业都没有勾当.营业ID可以存在于一个或两个关联表中. 在实行行使毗连举办查询而不是在语句中存在或不存在时,这会导致我几个小时的贫困.没有乐成. 有任何设法吗? 办理要领行使NOT INSELECT b.* FROM BUSINESS b WHERE b.business_id NOT IN (SELECT a.business_id FROM ACTIVITY a) AND b.business_id NOT IN (SELECT ae.business_id FROM ACTIVITY_EXTENSION ae) 行使NOT EXISTS SELECT b.* FROM BUSINESS b WHERE NOT EXISTS (SELECT NULL FROM ACTIVITY a WHERE a.business_id = b.business_id) AND NOT EXISTS (SELECT NULL FROM ACTIVITY_EXTENSION ae WHERE ae.business_id = b.business_id) 行使LEFT JOIN / IS NULL SELECT b.* FROM BUSINESS b LEFT JOIN ACTIVITY a ON a.business_id = b.business_id LEFT JOIN ACTIVITY_EXTENSION ae ON ae.business_id = b.business_id WHERE a.business_id IS NULL AND ae.business_id IS NULL 结论 由于相关是外键(business_id),以是假设它们都不为null是安详的.在这种环境下,NOT IN和NOT EXISTS是在SQL Server中查找缺失值的最佳要领. LEFT JOIN / IS NULL服从较低 – you can read more about it in this article. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读