Mysql 尝试联接具有相同列名的两个表

Mysql 尝试联接具有相同列名的两个表,mysql,sql,Mysql,Sql,我想加入两个表,但他们都有电子邮件和密码,我想加入这两个表作为一个新行,而不是彼此相邻 因此,不是: c.email | c.password | u.email | u.password company@mail.com companypass user@mail.com userpass 我希望它是这样的 email | password company@mail.com companypass user@mai

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

因此,不是:

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

一种选择是使用
接头

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

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

一个选项是使用
UNION

SELECT email, password 
FROM korisnici_tbl 
UNION
SELECT email, password
FROM companies_tbl
SELECT u.email, u.password FROM korisnici_tbl AS u
UNION ALL
SELECT c.email, c.password FROM companies_tbl AS c
如果您想要潜在的重复行,请改用
UNION ALL

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

如果希望它们位于不同的行中,可以使用
联合
(或
联合所有
,这允许重复行)


如果希望保留两个表中的行,则不需要联接,而是需要一个
联合

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

ALL
选项将保留重复项(如果两个表中都有)。如果要删除重复项,请从
联合中删除
ALL

如果要保留两个表中的行,则不需要联接,需要联合:

SELECT email, password 
FROM korisnici_tbl 
UNION
SELECT email, password
FROM companies_tbl
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

中删除。当我在两个表中看到相同的数据时,我总是有点厌倦。你能分享一些你最终想要实现的细节吗?当我在两个表中看到相同的数据时,我总是有点厌倦。你能分享一些你最终想要实现的细节吗?