表关联查询和子查询,哪个更好?
每次遇到一个问题,思路会有两个,要么用关联,要么用子查询,当然都能实现查询要求,考虑效率和其他各方面因素,我应该使用哪个呢?
比如:
GRADE表: sporterid itemid mark
SPORTER表: sporterid name sex department
item表: itemid itemname location
要查出张三参加过的项目的id :
方法1: select g.itemid from grade g,sporter s where s.sprterid=g.sporterid and s.name=‘张三';
方法2: select itemid from grade where sporterid IN (select sporterid from sporter where name='张三');
上面两种方法都可以吧!
每次遇到这些问题的时候我的脑子就老是会想去第二种方法,求大侠指点一下,哪种更好!!