一、mysql常用连接
INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
mysql> select * from name_address;
+----------+------+----+
| address | name | id |
+-------
LEFT JOIN 语法用法与实例
MySQL LEFT JOIN 语法
SQL(MySQL) LEFT JOIN 会取得左表(table1)全部记录,即使右表(table2)并无对应匹配记录。LEFT JOIN 基本语法如下:
... FROM table1 LEFT JOIN table2 ON condition ...
MySQL LEFT JOIN 用法实例
下面是两个原始数据表:
article 文章表:
user 用户表:
我们列出所有的文章及对应的所属用户,即使没有
,别人问我一个问题:数据库中的左连接和右连接有什么区别?如果有A,B两张表,A表有3条数据,B表有4条数据,通过左连接和右连接,查询出的数据条数少是多少条?多是多少条?
我被这个问题问住了,后来我去问了数据库开发人员,结果结果各种各样:
a 大12 小0
b 大12 小未知
c 大未知 小为3
d 大12 小为3
e 不清楚
1、说明
(1)左连接:只要左边表中有记录,数据能检索出来,而右边有
的记录必要在左边表中有的记录才能被检索出
两张表,A表中的记录B表中不一定有。
左连接:关注左边,右边没有就为空。
右连接:关注右边,左边没有就为空。
内连接:返回交集
例如:
student表s
id
name
age
class_id
1
yang
22
1
2
su
20
1
3
fan
20
2
4
li
30
2
5
luo
22
class表c
id
name
total
1
大一
30
2
大二
15
3
大三
40
在上面的表中,s表中的5号