use pubs select title ,type ,advance from titles a where a.advance> (select avg(b.advance) from titles b where a.type=b.type//这里为什么??a b 难道不代表同一个表吗 ) 其实A表与B表都是titles表,是一个实际的表, 但这里由于要用到自身连接(自己和自己连接进行查询), 因此就将titles表看成两个虚拟的表(表a与表b), 然后where a.type=b.type是表示从同一个type中去找avg(b.advance), 也就是同一个Type的advance的平均值, 因此整个语句是一个自身连接,意思是查找出比同type的advance的平均值大的记录。 呵呵,希望能有帮助,^_^