MySQL---JOIN

Posted 蜗角虚名,蝇头微利,算来著甚干忙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL---JOIN相关的知识,希望对你有一定的参考价值。

有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join。

数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。

在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。

连接两张表,大致分为内连接,外连接,右连接,左连接,自然连接。

 

 

左连接(left join):返回包括左表中的所有记录和右表中连接字段相等的记录:

1          课程表
2 +-----+--------+------------+
3 | cid | cname  | teacher_id |
4 +-----+--------+------------+
5 |   1 | 生物   |          1 |
6 |   2 | 物理   |          2 |
7 |   3 | 体育   |          3 |
8 |   4 | 美术   |          2 |
9 +-----+--------+------------+
 1          教师表
 2 +-----+-----------------+
 3 | tid | tname           |
 4 +-----+-----------------+
 5 |   1 | 张磊老师        |
 6 |   2 | 李平老师        |
 7 |   3 | 刘海燕老师      |
 8 |   4 | 朱云海老师      |
 9 |   5 | 李杰老师        |
10 +-----+-----------------+

课程表的teacher_id与教师表的tid关联

SELECT c.cname,t.tname FROM course c INNER JOIN teacher t ON c.`teacher_id` = t.`tid`;
1
+--------+-----------------+ 2 | cname | tname | 3 +--------+-----------------+ 4 | 生物 | 张磊老师 | 5 | 物理 | 李平老师 | 6 | 美术 | 李平老师 | 7 | 体育 | 刘海燕老师 | 8 +--------+-----------------+

以上是关于MySQL---JOIN的主要内容,如果未能解决你的问题,请参考以下文章

mysql join 谁是驱动表

Mysql Join

MySQL Join算法与调优白皮书

MySQL应用之CROSS JOIN用法简介教程

MySQL JOIN Summary

Mysql join with subquery join 使用相关名称