我有一个要求,我必须从数据库表中获取数据 条件是,
有两个表格具有相同的列,例如name
,mobile
,address
,age
。
防爆。表名称如学生和教师。
现在,如果我在学生表中找不到任何内容,那么我将从教师表中检索数据。
如何编写此查询?
答案 0 :(得分:2)
要从两个表中获取结果,您将使用UNION ALL。但是,当表Student中没有匹配的行时,您只想访问表Teacher。这稍微困难一些。您仍然可以使用UNION ALL,但需要在教师查询中使用EXISTS子句。
select * from student
union all
select * from teacher where not exists (select * from student);