IN与EXISTS查询及驱动表

INEXISTS 区别

mysql 的多表查询中,始终要遵循的一个原则:小表驱动大表的原则

IN

in 查询相当于多个 or 条件的叠加,这个比较好理解,比如下面的查询

select * from user where user_id in (1, 2, 3);

等效于

select * from user where user_id = 1 or user_id = 2 or user_id = 3;

in 查询就是先将子查询条件的记录全都查出来,假设结果集为 B,共有 m 条记录,然后再将子查询条件的结果集分解成 m 个,再进行 m 次查询

上一篇:SQL语句中exists函数 当返回值为null值时 结果为true,说明依然判断有数据返回!!!


下一篇:编写一个支持断点续传功能的 HTTP 容错客户端