一直以来认为exists比in效率高的说法是不准确的.如果查询的两个表大小相当,那么用in和exists差别不大.如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:例如:表A(小表),表B(大表)1:select * from A where cc in (select cc from B)效率低,用到了A表上cc列的索引:select * from A where exists(select cc from B where cc=A.cc)效率高,用到了B表上…
exists的用法 select *from haha where exists (select *from bumen where bumen.code = haha.bumen and bumen.name = '销售部' )and age>35 (运行方法为逐条查询) select name,sex,age,(select name from bumen where bumen.code = haha.bumen)as 部门 from haha select name,sex,age,(s…
本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student 截图例如以下: 表2:course 截图例如以下: (此时这样建表仅仅是为了演示连接SQL语句.当然实际开发中我们不会这样建表,实际开发中这两个表会有自己不同的主键.) 一.外连接 外连接可分为:左连接.右连接.全然外连接. 1.左连接 left join 或 left outer join SQL语句:select * from student left join course on student.ID=…