前言
学习是个反复的过程,学习是一个从不会到不会的过程。今天有机会再一次学习一下mySQL的连接方式,包括内连接、外连接、全连接,外连接又包括左外连接和右外连接。在此还需声明一下,学习过程中会发现数据库的很多知识都很类似,例如sql和mysql或者是oracel数据库。不过,在一些地方还是有自己的特性的,所以针对不同的数据库遇到的问题,首先可以先从自己数据库着手思考,如果两个数据库得到的结果不同,就要将重点放到真正使用的数据库上。总结一下意思是,运用已有的知识解决现在的问题,已有知识解决不了的,则要研究已知和未知的不同点,逐步构建知识网。下面,举个栗子,用栗子来理解概念,创建两张表item和comment:
内连接(inner join)
内连接查询出与连接条件匹配的数据行,使用比较运算符比较被连接列的列值,内连接分为三种:等值连接、不等连接、自然连接。
1.等值连接
在连接条件中使用等于号(=)运算符比较被连接的列值,返回符合条件的内容。
1. -- --等值连接
2. SELECT * FROM item as A INNER JOIN comment as B on A.quantity=B.quantity;
2.不等连接
在连接条件中使用不等号,如>、<、<>等运算符比较被连接的列值,返回符合条件的内容。
1. -- --不等值连接
2. SELECT * FROM item as A INNER JOIN comment as B on A.quantity<>B.quantity;
3.自然连接
自然连接是一种特殊的等值连接,无需指定连接列。
1. -- 自然连接
2. SELECT * FROM item NATURAL JOIN comment;
外连接
1.左外连接
返回左表中的所有行,如果右表中没有值则补为NULL。
1. -- 左外连接
2. select * from item as A LEFT JOIN comment as B on A.quantity = B.quantity;
2.右外连接
返回右表中的所有行,如果左表中没有值则补为NULL。
1. -- 右外连接
2. select * from item as A RIGHT JOIN comment as B on A.quantity = B.quantity;
全连接
1. -- 全连接
2. select * from item FULL JOIN comment;
结语
1.需求不同使用方法就不同
2.数据库操作的漂亮也是一门艺术
3.需要学习的还有很多,努力吧!