之前我们学习了左连接和右连接,在实际的应用中,左右连接不能满足所有的查询需要,比如我们想查询第二节中选课了的学生信息,这个时候我们就需要使用内连接。
INNER 连接
我们在数据库为大家内置了两张表table_a 和 table_b
table_a 数据:
table b 数据:
前面讲到MySQL表格应该包含gmt_created,gmt_modified,这里是为了便于演示,省略了这两个字段。表名也是为了便于演示直接命名为A和B,这都是不规范的行为。
【在实际的应用场景中,一张表格不会太复杂,并且会根据字段的不同拆分成多张表,比如说学生成绩表中,有些信息是会变得比如考试会有很多次,每次的成绩可能不同,而有些信息是基本不变的,比如学生姓名和学生的班级,所以我们会设计学生表和成绩表,然后关联查询得到具体某一场的考试成绩。也就是我们上面的表A和表B。】
现在假设我们是大学某门课的老师,我们需要查询班级A中参与B考试的学生,(A,B同时符合某一个条件的数据),得到的数据是内部共有的数据,所以连接方式称为内链接(INNER JOIN):