尝试连接具有相同列名的2个表

时间:2013-02-24 00:38:16

标签: mysql sql

我想加入2个表,但他们都有电子邮件和密码,我希望这两个表都作为新行加入而不是彼此相邻

所以而不是:

c.email         | c.password   | u.email       | u.password
company@mail.com  companypass  user@mail.com     userpass

我希望它像

email              | password
company@mail.com     companypass
user@mail.com        userpass

这是我当前的查询,它引出了第一个例子:

SELECT 
      u.email, u.password, c.email, c.password 
FROM 
      korisnici_tbl AS u, companies_tbl AS c

3 个答案:

答案 0 :(得分:3)

如果您希望它们位于不同的行中,您可以使用UNION(或UNION ALL,它允许重复的行)

SELECT email, password FROM companies_tbl
UNION ALL SELECT email, password FROM korisnici_tbl

答案 1 :(得分:1)

一种选择是使用UNION

SELECT email, password 
FROM korisnici_tbl 
UNION
SELECT email, password
FROM companies_tbl

如果您想要潜在的重复行,请改用UNION ALL

答案 2 :(得分:1)

如果您想保留两个表中的行,则不需要加入,您需要UNION

SELECT u.email, u.password FROM korisnici_tbl AS u
UNION ALL
SELECT c.email, c.password FROM companies_tbl AS c

ALL选项将保留重复项(如果在两个表中都找到)。如果您要删除重复项,请从ALL

中删除UNION