2

以下のクエリがどのように機能するかを誰か説明してもらえますか..従業員というテーブルがあります

id FirstName LastName   Email            Groupid
1 Paula      Brown    pb@testdomain.org    12
2 James      Smith    jim@test.co.uk       12
3 James      Connor   jc@tes.co.uk         13


select * from employee where groupid=12 AND id NOT IN (1) OR id NOT IN (2)

このクエリはどのように機能しますか? AND 句が OR でどのように機能するかを理解しようとしています。どんな助けでも大歓迎です...

4

1 に答える 1

4

ANDよりも優先されるORため、条件は次のように解釈されます。

(group=12 but id <> 1) OR (id <> 2)

3 つのレコードはすべて、次の条件に一致します。

1 Paula      Brown    pb@testdomain.org    12 -- id <> 2
2 James      Smith    jim@test.co.uk       12 -- group=12 and id <> 1
3 James      Connor   jc@tes.co.uk         13 -- id <> 2

別の評価順序を探している場合は、括弧を使用して強制できます。

于 2012-09-25T17:42:51.460 に答える