MySQL之内连接、外连接、左连接、右连接、全连接。。。
数据库表:
user表:
paly_info表:
内连接:
#内连接查询: SELECT * FROM `user` u INNER JOIN play_info p on u.user_id=p.paly_user_id;
外连接:
外连接查询包含:左外连接、右外连接、全外连接;
外连接分三类:左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)和全外连接(FULL OUTER JOIN)。
左连接:
#外连接查询: #左连接(左外连接)查询: SELECT * from `user` u LEFT JOIN play_info p on u.user_id=p.paly_user_id;
右连接:
#右连接(右外连接)查询 SELECT * from `user` u RIGHT JOIN play_info p on u.user_id=p.paly_user_id;
全连接(全外连接):
#全连接(全外连接) #MySQL不支持
外连不但返回符合连接和查询条件的数据行,还返回不符合条件的一些行。
三者的共同点是都返回符合连接条件和查询条件(即:内连接)的数据行。不同点如下:
左外连接还返回左表中不符合连接条件单符合查询条件的数据行。
右外连接还返回右表中不符合连接条件单符合查询条件的数据行。
全外连接还返回左表中不符合连接条件单符合查询条件的数据行,并且还返回右表中不符合连接条件单符合查询条件的数据行。全外连接实际是上左外连接和右外连接的数学合集(去掉重复),即“全外=左外 UNION 右外”。
说明:左表就是在“(LEFT OUTER JOIN)”关键字左边的表。右表当然就是右边的了。在三种类型的外连接中,OUTER 关键字是可省略的。