如何在sql查询中获得正确的结果?

bar*_*san 2 c# sql sql-server-2008

我想通过我的Membership表查询以获得某个成员的结果,但我得到了错误的结果.这是我的查询:

  select MemNo, MemDOB, MemberType, MemShrBal
  From Membership
  Where MemberType = 1 or MemberType = 2 
  and MemDOB > '1973/12/31' 
  and MemShrBal = 250.00
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我找出原因:除了正确的会员记录,我还得到超过250.0及以下'1973'的成员记录?MemShrBalMemDOB

Dam*_*ver 9

你需要一些括号:

select MemNo, MemDOB, MemberType, MemShrBal
  From Membership
  Where (MemberType = 1 or MemberType = 2)
  and MemDOB > '1973/12/31' 
  and MemShrBal = 250.00
Run Code Online (Sandbox Code Playgroud)

and绑定比绑定更紧or,所以没有括号,它是

  MemberType = 1

  or
      MemberType = 2
      and MemDOB > '1973/12/31' 
      and MemShrBal = 250.00
Run Code Online (Sandbox Code Playgroud)