求两表查询语句(优化的)
根据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