理解mysql 表连接
表wdd_a 表wdd_b 不使用where子句生成的表的数是两个表行数的积,其字段的字段两个表的拼接 查询的行数 = 表a的行数 x 表b的行数 SELECT * FROM `wdd_a` join `wdd_b` order by wdd_a.id 表联合不使用where子句,会存在两个问题 查询出来的结果没有意义 产生大量的无用数据,例如1000行的表a联合1000行的表b,将会产生1000*1000行的结果 SELECT * FROM `wdd_a` join `wdd_b` where wdd_a.id = wdd_b.id 当使用表联合之后,产生的数据 是有意义的 查询结果的行数一定比两张表的行数都要少 下面是一个复杂的例子,给表起了别名,另外也只抽取了部分字段 SELECT `a`.`id` AS `id`, `a`.`caller_id_dpid` AS `caller_id_dpid`, `a`.`callee_id_dpid` AS `callee_id_dpid`, `a`.`trunk_group` AS `trunk_group`, `b`.`domain` AS `domain` FROM (`wj_route_group` `a` join `domain` `b`) where (`a`.`id` = `b`.`route_group_id`);