MySQL内连接、外链接

来源:互联网 发布:淘宝怎样做充值话费 编辑:程序博客网 时间:2024/06/05 02:42

Mysql数据库的内连接、外连接

内连接

  • 内连接(两种)隐式和显示,带on 和不带on ,返回连接表中符合连接条件和查询条件的数据行
A表  id    name       B 表  id      job    parent_id     1      张三              1       28      1     2      李四              2       17      2     3      王五              3       20      4
  • 内连接
    • select * from a inner join b on a.id = b.parent_id
    • select * from a,b where a.id = b.parent_id
    • 结果是:
    • 1 张三 1 28 1
    • 2 李四 2 17 2

外连接:

  • 外链接不但返回符合连接和查询条件的数据行,还返回不符合条件的一些行。外链接分为:左外链接(left join on)、右外链接(right join on)、全外链接(full join on)
  • 左连接返回左表所有数据,右表不符合连接条件的为null值

    • select * from a left join b on a.id = b.parent_id
    • 结果为
    • 1 张三 1 28 1
    • 2 李四 2 17 2
    • 3 王五 null
  • 右外链接返回右表所有数据,左表不符合连接条件的返回null值

    • select * from a right join b on a.id = b.parent_id
    • 结果:
    • 1 张三 1 28 1
    • 2 李四 2 17 2
    • null 3 20 4
  • 完全外链接返回会所有表中的数据,不符合连接条件的以NULL值代替,很少用到

    • select * from a full join b on a.id = b.parent_id
    • 结果
    • 1 张三 1 28 1
    • 2 李四 2 17 2
    • null 3 20 4
    • 3 王五 null
原创粉丝点击