select * from stock,base where stock.gid=base.gid --这是2000以前的语法,相当于后来的 select * from stock inner join base on stock.gid=base.gid select * from stock where gid in (select gid from base) --这个是嵌套子查询等于 select distinct * from stock join base on stock.gid=base.gid --如果没有查询出来没有重复值的话就跟第二条语句一样的。
where a=1 where a in(1,2,3,4,5)
select * from stock where gid in (select gid from base) 和 select * from stock,base where stock.gid=base.gid 有什么区别了? 第2种速度更快
如果说:
一个字符d = A中的 d -- 这是一个元素对应一个元素
一个字符d in A -- 这是一个元素对应一个集合
= 一对一即:
= :符合条件的
in:在一定的范围内
= 是一对一的关系
in和not in查询结果有可能是表的一部分,因为in和not in都排除不了null列
可以研究下大数据量下,执行计划和IO
select * from stock,base where stock.gid=base.gid
--这是2000以前的语法,相当于后来的
select * from stock inner join base on stock.gid=base.gid
select * from stock where gid in (select gid from base)
--这个是嵌套子查询等于
select distinct * from stock join base on stock.gid=base.gid
--如果没有查询出来没有重复值的话就跟第二条语句一样的。
where a in(1,2,3,4,5)
select * from stock,base where stock.gid=base.gid
有什么区别了? 第2种速度更快