SQL查询教程:空值处理与数据操作

需积分: 18 0 下载量 114 浏览量 更新于2024-08-15 收藏 1.1MB PPT 举报
"涉及空值的查询-SQL SERVER" 在SQL中,空值(NULL)是一个特殊的值,表示数据未知或未定义。处理空值时,需要注意它们与其他值的比较方式。在查询涉及空值的数据时,应使用谓词 `IS NULL` 或 `IS NOT NULL`。这一点很重要,因为`NULL` 不能直接用 `= NULL` 进行比较,尽管某些系统如MS SQL Server允许这种用法,但并不是所有系统都支持,比如Oracle就不允许。SQL标准也不推荐使用 `= NULL`。 例如,【例21】所示的情况中,假设有一个名为SC的表,其中包含学生的学号(Sno)、课程号(Cno)以及成绩(Grade)。有些学生可能参加了课程但没有考试成绩,此时成绩字段的值为NULL。为了查询这些学生的信息,我们可以编写如下SQL查询: ```sql SELECT Sno, Cno FROM SC WHERE Grade IS NULL; ``` 这个查询将返回所有在SC表中成绩为空的学号和课程号,帮助我们识别出那些没有考试成绩的学生和他们对应的课程。 SQL语言是关系数据库的标准语言,它经历了多年的发展和完善。始于1974年,由Boyce和Chamberlin提出,并在IBM的System R上实现,最初称为Sequel。随着时间的推移,SQL不断演进,形成了多个版本的标准,如SQL-86、SQL-89、SQL-92和SQL-1999,每个版本都引入了更多的功能和增强,比如新的数据类型、更强大的数据操作以及更完善的完整性约束和安全性支持。 SQL的特性包括其作为数据定义(DDL)、数据操作(DML)和数据控制(DCL)语言的综合统一,以及高度非过程化的设计,使得用户只需要指定操作目标而无需关心执行细节。此外,SQL采用面向集合的操作方式,一次可以处理一组记录,而不是单个记录。它同时提供了自含式(独立的SQL语句)和嵌入式(在其他编程语言中使用)两种使用方式,使其既适合普通用户也适合程序员。SQL语言设计简洁,易于学习和使用,它的语法结构接近英语,增强了用户友好性。 在关系数据库中,SQL是不同数据库系统间互操作的基础,大多数现代数据库系统都支持SQL,这使得开发者能够在多种数据库之间进行切换,而无需大幅更改代码。SQL对数据库领域的影响深远,不仅限于数据库管理,还影响了其他领域的软件开发。