【什么是连接查询】

多个表作为一个表进行处理。

【连接查询的分类】

内连接   和   外连接。

【内连接查询】

它一般是默认的链接类型。

内连接基于链接谓词,它将两张表(如A和B)的列组合在一起,产生新的结果表。

会将A和B的每一行进行比较,并找出满足链接谓词的组合。

1.交叉连接,又称“笛卡尔连接”或“叉乘”,它是所有类型的内连接的基础。等于第一张表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。如果A和B是两个集合,它们的交叉连接就记为:A x B.

2.笛卡尔积就是两个集合中的每一个成员都与对方集合中的任意一个成员有关联。

笛卡尔积的SQL语句如下:

select * from line CROSS JOIN vehicle 等价于 : select * from line,vehicle

(line和vehicle只是个表名)

【外连接查询】

当不需要满足条件的查询结果出现,可以使用外连接查询

语法如下:

select 字段名称 from 表名 left/right/full[outer] join 表名2 on 表名1.字段名1=表名2.字段名2

现有题如下

MySQL outer join连接查询语句 mysql的连接查询有几种类型_内连接

MySQL outer join连接查询语句 mysql的连接查询有几种类型_表名_02

MySQL outer join连接查询语句 mysql的连接查询有几种类型_内连接_03

【各表名】 

MySQL outer join连接查询语句 mysql的连接查询有几种类型_连接查询_04

【第一题答案及解析】

       运用内连接,将AB两表链接,即 g(goods表)和t(type表)连接,将两表中相同类型的列作为链接谓词,随后在select后写上表中需要查询的列名即可

MySQL outer join连接查询语句 mysql的连接查询有几种类型_连接查询_05

 【第二题答案及解析】

      运用内连接,将t(type表)和g(goods表)连接,写上正确的连接谓词,运用GROUP BY进行排序,随后在select后写上分类名及数量count(*)即可

MySQL outer join连接查询语句 mysql的连接查询有几种类型_连接查询_06

【第三题答案及解析】

       运用内连接,首先将u(user表)和o(orders表)连接,填好谓词,再o与ot(ordersdetail表)连接,同样写好谓词之后,再将ot与g(goods表)连接,写好连接谓词,这里我们四个表依次连接成功。这时,我们可以把它看作是一张表,再运用select查询需要查询的列名即可  

MySQL outer join连接查询语句 mysql的连接查询有几种类型_内连接_07