mySQL中的内外连接

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan

前言

      学习是个反复的过程,学习是一个从不会到不会的过程。今天有机会再一次学习一下mySQL的连接方式,包括内连接、外连接、全连接,外连接又包括左外连接和右外连接。在此还需声明一下,学习过程中会发现数据库的很多知识都很类似,例如sql和mysql或者是oracel数据库。不过,在一些地方还是有自己的特性的,所以针对不同的数据库遇到的问题,首先可以先从自己数据库着手思考,如果两个数据库得到的结果不同,就要将重点放到真正使用的数据库上。总结一下意思是,运用已有的知识解决现在的问题,已有知识解决不了的,则要研究已知和未知的不同点,逐步构建知识网。下面,举个栗子,用栗子来理解概念,创建两张表item和comment:

            mySQL中的内外连接_第1张图片             mySQL中的内外连接_第2张图片

内连接(inner join)

     内连接查询出与连接条件匹配的数据行,使用比较运算符比较被连接列的列值,内连接分为三种:等值连接、不等连接、自然连接。

1.等值连接

    在连接条件中使用等于号(=)运算符比较被连接的列值,返回符合条件的内容。

-- --等值连接
SELECT * FROM item as A INNER JOIN comment as B on A.quantity=B.quantity;

                            mySQL中的内外连接_第3张图片

2.不等连接

    在连接条件中使用不等号,如>、<、<>等运算符比较被连接的列值,返回符合条件的内容。

-- --不等值连接
SELECT * FROM item as A INNER JOIN comment as B on A.quantity<>B.quantity;

                            mySQL中的内外连接_第4张图片

3.自然连接

    自然连接是一种特殊的等值连接,无需指定连接列。

-- 自然连接
SELECT * FROM item NATURAL JOIN comment;


                                 

外连接

1.左外连接

     返回左表中的所有行,如果右表中没有值则补为NULL。

-- 左外连接
select * from item as A LEFT JOIN comment as B on A.quantity = B.quantity; 

                           mySQL中的内外连接_第5张图片

2.右外连接

     返回右表中的所有行,如果左表中没有值则补为NULL。

-- 右外连接
select * from item as A RIGHT JOIN comment as B on A.quantity = B.quantity; 

                            mySQL中的内外连接_第6张图片

全连接

-- 全连接
select * from item FULL JOIN comment;

                                      mySQL中的内外连接_第7张图片

结语

      1.需求不同使用方法就不同

      2.数据库操作的漂亮也是一门艺术

      3.需要学习的还有很多,努力吧!

 

你可能感兴趣的:(❀数据库与缓存,------【MySql】)