外链接查询:即要查询有关联关系的数据,还要查询没有关联关系的数据。(个人理解为:表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中没有。