我可以根据属性值编写一个SQL语句吗?

时间:2015-07-27 03:37:35

标签: sql database

我想知道我是否可以编写一个SQL语句,或者是否必须使用应用程序的控制流编写许多不同的SQL语句。

基本上,我有一个名为Students的表,它将具有列性(M,F)。

我还有一个叫做Divisions的表,它有一个名为sex的列(null,M,F)。如果该值为null,我想要检索所有学生,包括男性和女性。

我知道我可以写两个不同的陈述来完成这项工作。但是,我有其他的列可以以相同的方式工作,我想知道是否有一种方法可以写一个语句而不是10。

2 个答案:

答案 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)