mdsk.net
当前位置:首页 >> sElECt ** From A whErE A.iD in (sElECt iD From ... >>

sElECt ** From A whErE A.iD in (sElECt iD From ...

我想回答 但是不回答 只因为。。。。。

相对来说第一种情况快,sql查询的顺序是先查where 后面的结果,那么如果B表数据少,当然速度相对要快于数据多的情况。实际情况用内连接速度会快得多。

sql select id from a where id=(select id from b where id=(select id from c where name='aaaaa')) 改成inner join sql select a.id from a inner join b on a.id=b.id inner join c on b.id=c.id where c.name='aaaaa'

select * from a,b where a.id=b.id ---等值连接 select * from a inner join b on a.id = b.id -----内连接 内连接与等值连接效果是相同的,执行效率也是一样的。 只不过内连接是由SQL 1999规则定的书写方式,其实这两个是一样的。

需要。。。。。。

你是不是少写了个from哦 select * from A where id in (select abc from B where id=1 ) 再就是abc为字符串字段,id是int字段,最好使用转换,而不是系统自动转换

这是SQL 89中内链接的写法。 内链接: SQL89:Select * From a,b where a.id=b.id SQL92:select * from a inner join b on a.id=b.id 交叉连接 SQL89:Select * From a,b SQL92:select * from a cross join b 外连接在sql 92标准中引入的,只有一种...

IN中的数据量不能大于2K条,否则会报错 先使用SELECT语句将数据查询到一张临时表 然后使用INNER JOIN进行内联删除

这种情况一般采用拼接sql,如果选择全部就不加这个where条件 如果选择1或2才拼接where字符串

SELECT A.* FROM (SELECT * FROM (SELECT 1 a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 2 UNION ALL SELECT 3)t)LEFT JOIN A ON t.a=A.A_id

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com