为什么使用 Grade = NULL 不能正确找出缺考记录?
正确答案:NULL 参与普通等号比较得到 UNKNOWN,应使用 IS NULL
NULL 表示缺失或不适用等未知状态,不是普通值;判断空值要使用 IS NULL 或 IS NOT NULL
可按数字键选择;请先作答,再提交答案
请先完成作答
正确答案:NULL 参与普通等号比较得到 UNKNOWN,应使用 IS NULL
NULL 表示缺失或不适用等未知状态,不是普通值;判断空值要使用 IS NULL 或 IS NOT NULL
可按数字键选择;请先作答,再提交答案
请先完成作答
正确答案:INSERT 省略一个无默认且可空的列 → 基本表中新元组的该属性可能保存 NULL;UPDATE 把某列设为 NULL → 已有元组的业务状态被改为缺失或不适用;左外连接右侧没有匹配元组 → 查询结果用 NULL 补齐右侧属性,不会写回基本表
三条路径都可能显示 NULL,但发生位置和业务语义不同
Tab / Shift+Tab 切换项目,方向键选择;Ctrl+Enter 提交答案
请先完成作答
正确答案:FALSE AND UNKNOWN = FALSE、TRUE AND UNKNOWN = UNKNOWN、TRUE OR UNKNOWN = TRUE、FALSE OR UNKNOWN = UNKNOWN、NOT UNKNOWN = UNKNOWN
已经能够确定整体真假的一侧会主导结果,否则 UNKNOWN 会继续传播
可按数字键选择;请先作答,再提交答案
请先完成作答
正确答案:COUNT(*) 为 3,COUNT(Grade) 为 2
COUNT(*) 统计行数,COUNT(列) 通常跳过该列为 NULL 的行
可按数字键选择;请先作答,再提交答案
请先完成作答
正确答案:主码中的每个属性都不能为 NULL、NOT NULL 明确禁止该列保存 NULL、可空外码可以整体为 NULL、可空 UNIQUE 列允许多个 NULL 的规则可能因 DBMS 而异
复合外码若为空应整体为空;NULL、0 和空串是不同值或状态,UNIQUE 对 NULL 的具体行为需要核查产品
可按数字键选择;请先作答,再提交答案
请先完成作答
对照答案:SQL 中同样的 NULL 会参与相同的三值逻辑和聚集规则,但三种状态可能有不同流程、权限和统计含义。可以增加状态属性或独立业务事件,例如成绩状态为待录入、缺考、不计分,并规定它与 Grade 是否为空的组合约束,避免只靠一个 NULL 猜测原因
请先在头脑中组织答案,再查看对照答案