【发布时间】:2017-07-09 12:15:44
【问题描述】:
假设我有这样一张桌子:
name | age | experience
abc | 18 | 0
def | 19 | 0
efg | 20 | 0
只有当任何一个值大于零时,我才想选择经验列。
在这种情况下,我的SQL 查询应该只返回姓名和年龄,而不是经验。
如果让我们说“efg”的经验大于 0,那么查询应该返回姓名、年龄和经验。 我试过以下查询
SELECT EXISTS (SELECT name,age,experience FROM emp_info )
AND NOT
EXISTS (SELECT experience FROM emp_info WHERE experience=0 );
但它不起作用。
【问题讨论】:
-
提供更好的例子。
-
怎么不工作了?另外,有点迷茫...如果经验> 0,那么只选择经验列?或者你的意思是如果经验 0 的地方?
-
您使用的是 MySQL 还是 MS SQL Server 或 Oracle?不要标记未涉及的产品。
-
试试:
SELECT name,age,experience FROM emp_info WHERE experience > 0
标签: mysql sql sql-server oracle11g