Sql 合并不同表中的两列

Sql 合并不同表中的两列,sql,oracle,Sql,Oracle,我有一个表“教师”和一个列名为“电子邮件”,还有一个表“学生”和一个列名为“电子邮件” 我需要在一个栏目中显示学生和老师的所有电子邮件。也就是说,所有现有电子邮件的一个列表,无论所有者的职位如何。使用union: 使用接头: select email from teachers union select email from students 它连接两个结果,并显示整体不同的值。(与union all相反,union all会导致重复值,因为所有行值都会显示,而不仅仅是不同的值) 如果

我有一个表“教师”和一个列名为“电子邮件”,还有一个表“学生”和一个列名为“电子邮件”

我需要在一个栏目中显示学生和老师的所有电子邮件。也就是说,所有现有电子邮件的一个列表,无论所有者的职位如何。

使用union:


使用
接头

select email
from   teachers
union
select email
from   students
它连接两个结果,并显示整体不同的值。(与union all相反,union all会导致重复值,因为所有行值都会显示,而不仅仅是不同的值)

如果您确实想知道电子邮件地址的来源,您可以执行以下操作:

select 'teacher' origin
,      id
,      email
from   teachers
union
select 'student' origin
,      id
,      email
from   students
select 'teacher' origin
,      id
,      email
from   teachers
union
select 'student' origin
,      id
,      email
from   students