左连接,右连接,内连接及全连接语法及区别

一,简介

       在关系型数据库连接查询中有以下几种查询方式:1,内连接;2,左连接;3,右连接;4,全连接。下面说明各种连接查询方式的使用及区别。

二,使用及区别
左连接,右连接,内连接及全连接语法及区别_第1张图片
 
左连接,右连接,内连接及全连接语法及区别_第2张图片

       1.内连接

          利用内连接可获取两表的公共部分的记录,即图中的数据集C, 语句如下:Select * from A JOIN B ON A.Aid=B.Bnameid 运行结果如下图4所示:其实select * from A,B where A.Aid=B.Bnameid与Select * from A inner(可省略) JOIN B ON A.Aid=B.Bnameid的运行结果是一样的。 
左连接,右连接,内连接及全连接语法及区别_第3张图片

      2.左连接

        数据表A中的记录为主循环体,依次匹配数据表B中的记录,如果数据表A中连接字段Aid的值,在数据表B中没有Bnameid与之对应,则侧以null代替。结果集:公共部分记录集C+表A记录集A1。语句如下:select * from A Left JOIN B ON A.Aid=B.Bnameid
左连接,右连接,内连接及全连接语法及区别_第4张图片

      3.右连接

         数据表B中的记录为主循环体,依次匹配数据表A中的记录,如果数据表B中连接字段Bnameid的值,在数据表A中没有Aid与之对应,则侧以null代替。结果集:公共部分记录集C+表B记录集B1。语句如下:select * from A Right JOIN B ON A.Aid=B.Bnameid
左连接,右连接,内连接及全连接语法及区别_第5张图片

      4.全连接(Full JOIN)

         结果集:公共部分记录集C+表A记录集A1+表B记录集B1。语句如下:select * from A FULL JOIN  B  ON A.Aid=B.Bnameid。
左连接,右连接,内连接及全连接语法及区别_第6张图片
 
 

你可能感兴趣的:(数据库->mysql基础)