MySQL中的联合查询

来源:互联网 发布:群优化 编辑:程序博客网 时间:2024/05/29 08:24

首先了解JOIN的基本概念:

1)、JOIN 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。2)、INNER JOIN:在表中存在至少一个匹配时,INNER JOIN 关键字返回行。3)、LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。4)、RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。5)、FULL JOIN 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。

通俗的解释是INNER JOIN就类似于查询多个表并且在WHERE之后加上联接这些表的唯一限定条件,以下两句SQL语句,返回相同的结果:

select * from tb_Course as c,tb_CourseType as ct where c.ctpID=ct.IDselect * from tb_Course as c inner join tb_CourseType as ct on c.ctpID=ct.ID

以此类推,LEFT JOIN 返回左表的所有行,也就是即使右表中无法找到对应左表记录的数据,也会返回数据。RIGHT JOIN 类似。而FULL JOIN就是LEFT 和 RIGHT 的并集,只要存在匹配就返回行。

1 0