SQL基础:理解空值NULL与SELECT查询

需积分: 10 0 下载量 181 浏览量 更新于2024-08-15 收藏 186KB PPT 举报
本文将介绍SQL中的空值(null)概念以及基本的SQL语句,特别是SELECT语句的使用。空值在数据库中表示数据不可用、未分配或未知的情况,它与数字零或空格有本质区别。理解空值对于正确处理数据库中的数据至关重要。 在SQL中,`NULL`表示一个字段没有值,它不同于0(数字零)或空字符串。例如,在示例的EMP表中,COMM列代表员工的佣金,当某个销售员没有获得佣金时,这一列的值会显示为NULL,表示未分配或未知的佣金,而不是0,因为0意味着有具体的数值但为零。 基本的SQL语句,尤其是SELECT语句,是用于从数据库中检索数据的核心工具。SELECT语句的主要功能是对表格进行投影,即从一个或多个表中选取特定的列。其基本语法结构如下: ```sql SELECT [DISTINCT] {*, column[alias], ...} FROM table; ``` - `SELECT` 关键字指定要选择的列,可以是所有列(`*`)或指定列名。 - `DISTINCT` 关键字用于去除重复的行。 - `FROM` 关键字指定数据来源的表。 在实际书写SQL语句时,虽然SQL本身不区分大小写,但为了提高代码的可读性,通常建议将关键字大写,其他部分如列名、别名等小写。SQL语句可以在一行或多行中书写,每个子句最好独立成行,并使用缩进保持整洁。 以下是一些SELECT语句的示例: - 选择表DEPT的所有列: ```sql SQL> SELECT * FROM dept; ``` - 选择DEPT表中特定的列,如DEPTNO和DNAME: ```sql SQL> SELECT DEPTNO, DNAME FROM dept; ``` - 如果想要对结果进行排序,可以使用`ORDER BY`子句,例如按DNAME升序排列: ```sql SQL> SELECT DEPTNO, DNAME FROM dept ORDER BY DNAME; ``` - 若要限制返回的行数,可以使用`LIMIT`子句(在某些数据库系统中,如MySQL)或`TOP`子句(在SQL Server中): ```sql -- MySQL SQL> SELECT DEPTNO, DNAME FROM dept LIMIT 3; -- SQL Server SQL> SELECT TOP 3 DEPTNO, DNAME FROM dept; ``` 在处理包含NULL值的数据时,需要注意它们在计算和比较中的特殊性。例如,任何涉及NULL的算术运算(如加法、减法)都会返回NULL。同样,使用`IS NULL`或`IS NOT NULL`来判断字段是否为空更为准确,因为常规的比较运算符(如`=`、`<`、`>`)与NULL比较时,结果始终为NULL,而不是布尔值。 在实际工作中,了解并掌握这些基本的SQL概念和语句是数据分析、数据库管理和应用开发的基础。通过学习,你应该能够编写和执行基本的SELECT查询,从而有效地从数据库中获取所需的信息。