/*===========================<一>==========================
在SQL中逻辑表达式的值有三种:
1.TRUE
2.FALSE
3.UNKNOWN
UNKNOWN逻辑值通常出现在包含NULL的逻辑表达式中,例如:
1. NULL > 0
2. NULL = NULL
3. 1 + NULL = X
============================<二>==========================
1. 在所有的查询筛选器中【ON、WHERE、HAVING】,都把UNKNOWN当
做FALSE处理;
2. 在CHECK约束中UNKNOWN的值被当做TRUE处理;
3. 在UNIQUE约束、排序操作、分组操作UNKNOWN的值被当做TRUE处理;
============================<三>==========================*/
首先,你的测试数据库中创建测试表,脚本如下:
USE Study --/*我的测试数据库是Study,这里需要修改成你的数据库名。*/ GO CREATE TABLE Salary( SalaryID NVARCHAR(36) NOT NULL ,EmployeeID NVARCHAR(36) ,Salary INT CONSTRAINT [PK_Salary] PRIMARY KEY CLUSTERED ( [SalaryID] ASC ) WITH (PAD_INDEX = OFF , STATISTICS_NORECOMPUTE = OFF , IGNORE_DUP_KEY = OFF , ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[Salary] WITH NOCHECK ADD CONSTRAINT [CK_Salary] CHECK (([Salary] > 0)) GO ALTER TABLE [dbo].[Salary] CHECK CONSTRAINT [CK_Salary] GO ALTER TABLE Salary ADD CONSTRAINT AK_Employee UNIQUE (EmployeeID); GO