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的平均值大的記錄。
呵呵,希望能有幫助,^_^。