SQL选择与where子句不同

Jes*_*sen 5 sql

我有这样的表.

PersonID, KvalifikationId
1         1
1         2
1         3
2         1
2         3
Run Code Online (Sandbox Code Playgroud)

我想编写SQL querye返回所有没有kvalifikation 2的人.

我写

SELECT DISTINCT PersonID where NOT KvalifikationID = 2
Run Code Online (Sandbox Code Playgroud)

但是这将返回人1和人2.我如何选择只返回没有kval2的personId?

Joh*_*Woo 7

试试这个,

SELECT DISTINCT PersonID
FROM tableName
WHERE PersonID NOT IN
    (
        SELECT PersonID
        FROM tableName
        WHERE KvalifikationId = 2
    )
Run Code Online (Sandbox Code Playgroud)

SQLFiddle演示