SQL语句左关联和where的区别
比如表A id data 1 a 2 b 3 c 表B id aid 11 1 12 2 where语句 select *,*,* bidfrom a,bwhere * = * 等价于inner join: select *,*,* bidfrom a inner join b on * = *返回2行 id data bid 1 a 11 2 b 12 左关联: select *,*,* bidfrom a left join b on * = *返回2行 id data bid 1 a 11 2 b 12 3 c null。
sql左关联加子查询
呵呵,这是一个自身连接的问题, use pubs select title ,type ,advance from titles a where *e> (select avg(*e) from titles b where *=**/这里为什么??a b 难道不代表同一个表吗 ) //为什么删除后 会不同?? 其实A表与B表都是titles表,是一个实际的表, 但这里由于要用到自身连接(自己和自己连接进行查询), 因此就将titles表看成两个虚拟的表(表a与表b), 然后where *=*是表示从同一个type中去找avg(*e), 也就是同一个Type的advance的平均值, 因此整个语句是一个自身连接,意思是查找出比同type的advance的平均值大的记录。
呵呵,希望能有帮助,^_^。