SQL查询一个表中另外一个表不存在的数据。
2012-12-24 19:29
316 查看
#方法一:使用 not in ,容易理解,效率低 ~执行时间为:1.395秒~
SELECT COUNT(1) FROM ecs_goods WHERE ecs_goods.goods_id NOT IN (SELECT ecs_member_price.goods_id FROM ecs_member_price);
#方法二:使用 left join...on... , "B.ID isnull"
表示左连接之后在B.ID 字段为 null的记录 ~执行时间:0.739秒~
SELECT COUNT(1) FROM ecs_goods LEFT JOIN ecs_member_price ON ecs_goods.goods_id=ecs_member_price.goods_id WHERE ecs_member_price.goods_id IS NULL;
#方法三:逻辑相对复杂,但是速度最快 ~执行时间: 0.570秒~
SELECT COUNT(1) FROM ecs_goods c WHERE (SELECT COUNT(1) AS num FROM ecs_member_price WHERE ecs_member_price.goods_id=ecs_goods.goods_id) = 0;
SELECT COUNT(1) FROM ecs_goods WHERE ecs_goods.goods_id NOT IN (SELECT ecs_member_price.goods_id FROM ecs_member_price);
#方法二:使用 left join...on... , "B.ID isnull"
表示左连接之后在B.ID 字段为 null的记录 ~执行时间:0.739秒~
SELECT COUNT(1) FROM ecs_goods LEFT JOIN ecs_member_price ON ecs_goods.goods_id=ecs_member_price.goods_id WHERE ecs_member_price.goods_id IS NULL;
#方法三:逻辑相对复杂,但是速度最快 ~执行时间: 0.570秒~
SELECT COUNT(1) FROM ecs_goods c WHERE (SELECT COUNT(1) AS num FROM ecs_member_price WHERE ecs_member_price.goods_id=ecs_goods.goods_id) = 0;
相关文章推荐
- SQL查询一个表中另外一个表不存在的数据
- SQL从一个表查询数据更新到另外一个表
- sql的一个查询,情景:a表中存在的数据,且在b表中不存在 (not in,not exists
- sql语句实现从一个表的查询出某些数据插入另外一个表中
- mysql 查询两个表相同数据 全部数据 查询一个表中另外一个表不存在的数据
- Asp.net数据查询中SQL查询语句中存在某个字段,但是显示时提示某字段不存在表中
- SQL 把一个数据库里面的某张表里的数据插入到另外一个数据库里面的一张表
- SQL语句技巧:查询存在一个表而不在另一个表中的数据记录
- sql 数据库中只靠一个数据,查询到所在表和列名
- SQL语句 怎么把一个表的数据复制到另外一个表里面
- (数据库篇) SQL查询~ 存在一个表而不在另一个表中的数据
- SQL 中查询某个字段数据匹配字符不存在
- sql 根据指定条件获取一个字段批量获取数据插入另外一张表字段中+MD5加密
- SQL实现将一个表的数据插入到另外一个表的代码
- sql查询存在一张表而不存在另外一张表的三种方法
- java实现从一个数据库查询数据经过处理导入另外一个数据库中
- SQL查询存在一个表而不在另一个表中的数据
- SQL同一个表,PHP分别查询2列数据的总和然后输出
- ADO带密码的数据连接、查询一个记录集、执行一SQL语句
- 一个数据表更新另外一个数据表(SQL)