如何一次从两个表中获取数据

时间:2014-03-27 14:35:27

标签: sql oracle

我有一个要求,我必须从数据库表中获取数据 条件是,

有两个表格具有相同的列,例如namemobileaddressage
 防爆。表名称如学生教师

现在,如果我在学生表中找不到任何内容,那么我将从教师表中检索数据。

如何编写此查询?

1 个答案:

答案 0 :(得分:2)

要从两个表中获取结果,您将使用UNION ALL。但是,当表Student中没有匹配的行时,您只想访问表Teacher。这稍微困难一些。您仍然可以使用UNION ALL,但需要在教师查询中使用EXISTS子句。

select * from student
union all
select * from teacher where not exists (select * from student);