MySQL中的IF语句

MySQL中的IF语句,sql,Sql,我正在尝试执行以下IF语句: select s.* from salespeople s if (s.supervisor >= 1) end if; 然而,它抛出了一个错误。我有文件,如果在这里: 我的桌子看起来像这样: Salespeople ----------- SalesID, Firstname, Lastname, Supervisor 其中主管包含INT记录。基本上,我正在尝试列出所有至少有一名主管的SalesID。我想您可能会混淆IF-here和WHERE;相反,请尝

我正在尝试执行以下IF语句:

select s.*
from salespeople s
if (s.supervisor >= 1) end if;
然而,它抛出了一个错误。我有文件,如果在这里:

我的桌子看起来像这样:

Salespeople
-----------
SalesID, Firstname, Lastname, Supervisor
其中主管包含INT记录。基本上,我正在尝试列出所有至少有一名主管的SalesID。

我想您可能会混淆IF-here和WHERE;相反,请尝试:

SELECT * FROM Salespeople WHERE Supervisor >= 1;
我对Supervisor字段中除整数之外的实际数据有点困惑;如果我要设置表,如果没有相关的主管,我会让列为null;如果表中的情况也是如此,则您需要尝试以下操作:

SELECT * FROM Salespeople WHERE Supervisor IS NOT NULL;

请注意,在其他问题中使用MySQL时,您已链接到SQL Server Transact-SQL Server页面,更准确地说,在本问题中,您已将该问题标记为一般SQL问题:如果您打算对数据库重新设计提出建议,至少要提出好的建议。如果一个人可以有一个以上的主管,这是问题所暗示的,而一个主管可以有一个以上的主管,这是一个合理的假设,这是一种多对多关系,数据库设计应该反映出这一点。@DanBracuk我没有就重新设计用户数据库提出任何建议;我只是说,如果我用他们使用的相同列创建了一个表,我会使用null而不是0,并且假设他们可能也这样做,因为他们没有说明他们使用了什么。如果我建议重新设计,我只会在问题有更多背景的情况下这样做,我会完全按照您所说的那样做,并描述一个关系表。