mysql如何实现全外连接并去除重复列?

MySQL如何实现全连接,并将冗余的列合并在一起

ent_name    a_attr1    a_attr2     a_attr3
    e1          5          6           2020.1.2
    e2          8          9           2020.2.6
    e4          4          3           2019.12.6

    b_attr1     b_attr2     ent_name    b_attr3
    czq         5           e2          6
    bfx         10          e8          5
    ck          2           e1          4

假设现在有a,b两张表属性分别如上,现在希望利用ent_name这个属性作为key,将两张表外连接合并实现如下效果:

ent_name    a_attr1     a_attr2     b_attr2     b_attr3
    e1          5           6           2           4
    e2          8           9           5           6
    e4          4           3                       
    e8                      0           10          5

即选择自己的目标属性进行外连接,如果直接union,会出现两列ent_name属性
这种合成用pandas的merge很好实现,但是想请问如何用mysql语句实现这种操作?
附pandas外连接使用方法,希望用mysql语句能实现等效操作

def merge_csv(in_file_list, out_file_name, column_list, default_value_list, key_column):
	global output
	    i = 0
	    for file, columns in zip(in_file_list, column_list):
	        if i == 0:
	            output = pd.read_csv(file, usecols=columns, encoding='gbk')
	            i += 1
	            continue
	        data = pd.read_csv(file, usecols=columns, encoding='gbk')
	
	        output = pd.merge(output, data, how='outer', left_on=key_column, right_on=key_column)
	
	    # print(output.isna())
	    for default_value in default_value_list:
	        # print(default_value)
	        output.fillna(default_value, inplace=True)
	    print(output)
	    output.to_csv(out_file_name,index=False)  # 写入csv文件

你可能感兴趣的:(mysql)