【发布时间】:2020-03-02 10:13:22
【问题描述】:
在 MySQL 工作台中,我想左连接两个表,如下例:
table_a:
---------------------------------------
employee_number name e_mail
---------------------------------------
1 Tom tom@mail.com
2 Ali ali@mail.com
3 Anna anna@mail.com
4 Clay clay@mail.com
---------------------------------------
table_b:
--------------------------
employee_number phone
2 45678964
3 79845275
--------------------------
我创建了一个新表 table_c 并加入这两个表:
#create table_c:
CREATE TABLE table_c (
employye_number VARCHAR(255) NOT NULL,
name VARCHAR(255) DEFAULT '',
e_mail VARCHAR(255) DEFAULT '',
phone VARCHAR(255) DEFAULT ''
);
#perform join of the two tables:
INSERT INTO table_c
SELECT *
FROM table_a
LEFT JOIN table_b USING (employee_number);
所需的输出如下。使用空字符串 ('') 作为空值,而不是 NULL。
table_c:
----------------------------------------------------
employee_number name e_mail phone
----------------------------------------------------
1 Tom tom@mail.com
2 Ali ali@mail.com 45678964
3 Anna anna@mail.com 79845275
4 Clay clay@mail.com
---------------------------------------------------
但是,当我在 MySQL 中执行此操作时,员工 1 和 4 的电话值仍然是 NULL。
我不想只使用COALESE() 更改查询中的输出值,我希望将值作为'' 存储在表中,而不是NULL。
有谁知道如何在table_c 中将NULL 值更改为''?
【问题讨论】:
标签: mysql sql left-join mysql-workbench sql-insert