一,连接查询
1,内连接
内连接你可以这样理解
数学模型:
取A和B的交集
表1
Id | Name |
1 | 张三 |
2 | 李四 |
3 | 王五 |
4 | 赵六 |
表2
Id | Age |
1 | 25 |
2 | 45 |
3 | 22 |
内连接表一表二取交集则留下id为1,2,3和name和age
2,外连接
左外连接:
数学模型:
取A和B左边表不重复的地方就是左外连接
在mysql中的理解:
左外连接又叫做左连接,表1为左表,表二为右表为例,左边的数据全部留下id1,2,3,4和name,但是这里右边的数据4号没有数据则在左边表示为空
右外连接:
数学模型:
取A和B右边表不重复的地方就是左外连接
在mysql中的理解:
右外连接又叫右连接,和左连接一样,右连接就是右边的数据全部留下则只留下了1,2,3的数据
二,多表连接
1、连接两个数据表的用法:
FROM Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort
语法格式可以概括为:
FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号
2、连接三个数据表的用法:
FROM (Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel
语法格式可以概括为:
FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号
3、连接四个数据表的用法:
FROM ((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel) INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity
语法格式可以概括为:
FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号
4、连接五个数据表的用法:
FROM (((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel) INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity) INNER JOIN Wedlock ON Member.Wedlock=Wedlock.Wedlock
语法格式可以概括为:
FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表5 ON Member.字段号=表5.字段号