我想知道我是否可以编写一个SQL语句,或者是否必须使用应用程序的控制流编写许多不同的SQL语句。
基本上,我有一个名为Students的表,它将具有列性(M,F)。
我还有一个叫做Divisions的表,它有一个名为sex的列(null,M,F)。如果该值为null,我想要检索所有学生,包括男性和女性。
我知道我可以写两个不同的陈述来完成这项工作。但是,我有其他的列可以以相同的方式工作,我想知道是否有一种方法可以写一个语句而不是10。
答案 0 :(得分:0)
是的,只需确保您的加入条件符合您的要求: 像这样(未经测试)
select * from students s left outer join division d on (s.sex=d.sex or d.sex is null)
答案 1 :(得分:-2)
我相信你正在寻找类似的东西(T-SQL,因为你没有提到你正在使用的东西):
select *
from students, divisions
where (divisions.sex is not null and students.sex=divisions.sex) or (divisions.sex is null)