SQL查询语言(DQL)基础教程:字段控制与条件查询

0 下载量 6 浏览量 更新于2024-08-31 收藏 1.11MB PDF 举报
"这篇文档介绍了SQL(数据查询语言DQL)的基本用法,包括查询字段控制、条件控制以及部分列运算和别名设置等概念。它详细解释了如何查询所有列、指定列,如何处理重复记录,进行列的数学运算和字符串操作,以及如何处理NULL值。此外,文档还提到了条件查询,如使用WHERE子句进行精确匹配、范围匹配和模糊匹配。" 在SQL(DQL)中,查询数据是数据库操作的基础。以下是对这些知识点的详细阐述: 1. **字段(列)控制** - **查询所有列**:`SELECT * FROM 表名;` 这个命令用于获取表中的所有列,其中`*`是一个通配符,代表所有列。 - **查询指定列**:`SELECT 列1, [列2, ..., 列N] FROM 表名;` 允许用户指定需要查询的特定列,例如 `SELECT empno, ename, sal, comm FROM 表名;` - **去除重复记录**:`SELECT DISTINCT * | 列1[, 列2, 列N] FROM 表名;` 使用`DISTINCT`关键字可以确保返回的结果中没有重复的记录。 2. **列运算** - **数量类型运算**:可以对数值类型的列执行加、减、乘、除等基本数学运算,如 `SELECT sal * 1.5 FROM emp;` 或 `SELECT sal + comm FROM emp;` - **字符串类型运算**:字符串可以通过`CONCAT`函数连接,例如 `SELECT CONCAT('$', sal) FROM emp;` - **处理NULL值**:`IFNULL()`函数用于将NULL值替换为指定的默认值,例如 `SELECT IFNULL(comm, 0) + 1000 FROM emp;` - **给列起别名**:使用`AS`关键字或者直接用空格来给列命名,如 `SELECT IFNULL(comm, 0) + 1000 AS 奖金 FROM emp;` 3. **条件控制** - **条件查询**:通过`WHERE`子句指定查询条件,例如: - 精确条件:`SELECT empno, ename, sal, comm FROM emp WHERE sal > 10000 AND comm IS NOT NULL;` - 范围条件:`SELECT empno, ename, sal FROM emp WHERE sal BETWEEN 20000 AND 30000;` - 集合条件:`SELECT empno, ename, job FROM emp WHERE job IN ('经理', '董事长');` - **模糊查询**:使用`LIKE`或`ILIKE`(不区分大小写)进行模糊匹配,例如查询姓张的员工,可以写成 `SELECT * FROM emp WHERE ename LIKE '张%';` SQL(DQL)的这些基本操作是数据库查询的核心,它们可以帮助用户根据不同的需求获取和处理数据。通过组合这些查询技巧,可以实现复杂的数据分析和报表生成。