MySQL左外链接与右外连接

外链接查询:即要查询有关联关系的数据,还要查询没有关联关系的数据。(个人理解为:表A和表B两个关联的列中)如下图:

     

    emmm,简单的来说两个表的关联关系:book.bid=bookshop.id,他们两个表的关联的两个列中可能book.bid的列中有值,而bookshop.id中为空值,这个时候就    需要用外链接查询啦。

左外连接查询:一左边的表为主,查询左表中所有的数据,以及与之关联的右表中的数据。

  格式:

    select 别名1.*/列名,别名2.*/列名

    from 左表 别名1 left (outer) join 右表 别名2

    on 关联条件

  例:

    1、查询book表中所有书籍的编号,名称,所属书店编号、名称

       

    2、查询书店表中所有的书店信息以及该书店中书籍的编号,名称根据书籍的编号进行升序排列

       

右外连接查询:以右边的表中为主,查询右表中所有的数据,以及与之关联的左表中的数据

  格式:

    select 别名1.*/列名,别名2.*/别名

    from 左表 别名1 right outer join 右表 别名2

    on 关联条件

  例:

    查询book表中书名中不包含"贩"的所有书籍的编号,名称以及所属书店编号、名称、地址,最后根据书店编号进

    行升序排列,如果书店编号一致,根据书籍的编号进行降序排列

        

    emmm,稍微提一下,Oracle中有full join,MySQL中没有。

posted @ 2018-10-29 17:50  小白菜»  阅读(501)  评论(0编辑  收藏  举报