- 积分
- 3
- UID
- 271
- 阅读权限
- 10
- 注册时间
- 2008-1-27
- 精华
- 在线时间
- 小时
- 最后登录
- 1970-1-1
- 职业
- 1
|
select as.name as asName,count(al.as_id) as asNum
from
a inner join m on a.id = m.a_id
inner join mt on mt.m_id =m.id
inner join al on mt.al_id =al.id
inner join as on al.as_id=as.id
如上述sql所示,有a,al,as,m,mt五个表关联查询,上述关联都是通过外键的关联.且均为int类型的外键(关联其他表的主键).如此查询的话效率比较低,不知道怎么样可以优化一下?
用inner join是否需要用括号的方式一层层的嵌套?
select a.name,b.age from a,b where a.id=b.a_id
select a.name,b.age from a outer join b on a.id=b.a_id
上面的两个sql是不是一样的,即用逗号方式连接的多表查询是不是就相当于外连接? |
|