左连接LEFT JOIN 连接自己时的查询结果测试

#左连接LEFT JOIN 连接自己时的查询结果测试

#左连接LEFT JOIN 连接自己时的查询结果(都会出现两个重复字段),两个表都有as后只能查询相等条件merchant_shop_id非null的数据
SELECT * FROM adm_keeshow_port as k LEFT JOIN adm_keeshow_port as p ON k.merchant_shop_id = p.merchant_shop_id WHERE p.`partner_id` = '25'

#只有一个表用as方法,用k.`partner_id`时merchant_shop_id为null的都会查询出来,但后面一个表的字段内容只有merchant_shop_id不为null的数据不为null,其他都为null
SELECT * FROM adm_keeshow_port as k LEFT JOIN adm_keeshow_port ON k.merchant_shop_id = adm_keeshow_port.merchant_shop_id WHERE k.`partner_id` = '25'

#只有一个表用as方法,用adm_keeshow_port.`partner_id`时只能查询相等条件merchant_shop_id非null的数据,跟两个表都用as一样
SELECT * FROM adm_keeshow_port as k LEFT JOIN adm_keeshow_port ON k.merchant_shop_id = adm_keeshow_port.merchant_shop_id WHERE adm_keeshow_port.`partner_id` = '25'

#左连接LEFT JOIN 连接自己时的查询结果,不用as时无法查询,提示:错误代码: 1066,Not unique table/alias: 'adm_keeshow_port'
SELECT * FROM adm_keeshow_port LEFT JOIN adm_keeshow_port ON adm_keeshow_port.merchant_shop_id = adm_keeshow_port.merchant_shop_id WHERE adm_keeshow_port.`partner_id` = '25'

原文地址:https://www.cnblogs.com/zdz8207/p/mysql-left-join.html