日期:2014-05-18  浏览次数:20407 次

求两表查询语句(优化的)
根据Category查询a,b两表,要求Category相同,查询出相同Category(都为‘x’)的aID和bID要求

1、aID中aCheck   为r,bID不存在;bID存在   a表中不存在相同的aID,或者存在相同的aID但是aCheck不是‘r’

2、a表中aID等于b表中bID切aCheck为r(怎么样写效率最好)结果d
我写的:
select   aid,aCheck,bid   from   a   left   join     b   on   aID=bID   and   a.Category=b.Category   where   a.Category= 'x '   and   a.Check= 'r '   and   aID   in(select   bID   from   b   where   b.Category= '123 ')


a:                                                     b:

aID       Category       aCheck                       bID               Category
1                 x                   r                               1                       x
2                 x                   w                               2                       x
3                 x                   w                               3                       x
4                 x                   w                               7                       x
5                 x                   r                               8                       x                                
6                 x                   r                               9                       x
9                 y                   r                               10                     y
11               y                   r                               11