最近在学习时候发现有关于  数据库的左连接和右连接之说 请朋友帮我详细解释下  谢谢
另外  关于SQL语句写的时候 是不是可以对某些表的字段缩写  比如  表 manager 我在SQL中写成SELECT m.*...等等 ,应为最近看到了类似的写法,  如果能这样写,那么有两个表分别是 manager 和managerA 的时候怎么区分了?
我看倒的SQL语句是 : SELECT m.*,p,sysset,p.bookset FORM tb_manager m left join tb_purView p on m.id = p.id; 

解决方案 »

  1.   

    "FORM tb_manager m" 这个"m"是给"tb_manager"起的个别名,别处就可以用这个别名来代表这个表了,主要是为了方便吧.给几个表起不同的别名就区分不同的表了.
      

  2.   

    左连接返回join左侧表中的所有记录以及右侧表中匹配的记录,如果右则表中没有相匹配的记录,则只显示左边表的中数据,右则表中的字段显示空.
    右连接相反.
    也不知道说得清楚不清楚,呵呵.
      

  3.   


    左连接:select m.*  from manager a,mangager p where a.id=p.id(+) 
    右连接: select m.*  from manager a,mangager p where p.id=a.id(+)
    如果有两个表 可以取两个不同的别名 在根据别名取字段
      

  4.   

    外部连接和自联接 inner join(等值连接) 只返回两个表中联结字段相等的行 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录1、不管左右链接,都会返回符合on条件的所有记录。
    2、left join:返回左表(第一个表)所有记录,返回右表符合on条件的记录。
    2、right join:返回右表(第二个表)。
    3、还有一个inner join:就是返回所有符合on条件的记录