MySQL中LEFT JOIN 、RIGHT JOIN、INNER JOIN、FULL JOIN 的区别

1.首先看看Left Join 与Right Join 与 Inner Join 与 Full Join对表进行操作后得到的结果。
2.在数据库中新建两张表,并插入要测试的数据。
3.新建表:

CREATE DATABASE `test`;
USE `test`;
CREATE TABLE `emp`(
    `name` varchar(10)  NOT NULL,
    `city` varchar(10) NOT NULL
) ;
CREATE TABLE `sal`(
    `name`     varchar(10) NOT NULL,
    `salary` varchar(10) NOT NULL
); 

emp表:
MySQL中LEFT JOIN 、RIGHT JOIN、INNER JOIN、FULL JOIN 的区别_第1张图片
sal表:
MySQL中LEFT JOIN 、RIGHT JOIN、INNER JOIN、FULL JOIN 的区别_第2张图片
4.左连接:LEFT JOIN

SELECT * FROM emp LEFT JOIN sal ON emp.name=sal.name;

MySQL中LEFT JOIN 、RIGHT JOIN、INNER JOIN、FULL JOIN 的区别_第3张图片
左连接:表emp是主表,因此查询结果是显示emp(主表)的全部信息和sal(附表)与emp相关的信息。
5.右连接:RIGHT JOIN

SELECT * FROM emp RIGHT JOIN sal ON emp.name=sal.name;

MySQL中LEFT JOIN 、RIGHT JOIN、INNER JOIN、FULL JOIN 的区别_第4张图片
右连接:表sal是主表,因此查询结果显示sal(主表)的全部信息和emp(附表)与sal想关的信息。
6.内连接:INNER JOIN

SELECT * FROM emp INNER JOIN sal ON emp.name=sal.name;

MySQL中LEFT JOIN 、RIGHT JOIN、INNER JOIN、FULL JOIN 的区别_第5张图片
内连接:显示的是连个表相关的信息。
7.全连接:FULL JOIN

SELECT * FROM emp FULL JOIN sal ON emp.name=sal.name;

全连接:显示两个表所有的信息。

你可能感兴趣的:(mysql)