SQL查询语言基础:DQL操作详解

0 下载量 124 浏览量 更新于2024-08-30 收藏 1.11MB PDF 举报
"这篇资源主要介绍了SQL(DQL)的基本查询操作,包括字段控制、条件控制和部分列运算。" SQL(DQL)是用于处理结构化数据的语言,主要用于从数据库中检索信息。以下是详细的知识点说明: 一、字段(列)控制 1. 查询所有列:使用`SELECT * FROM 表名;`可以查询表中的所有列。例如,`SELECT * FROM emp;`将返回emp表中的所有字段。 2. 查询指定列:若只想获取特定列的数据,可写明列名,如`SELECT 列1, 列2, ... 列N FROM 表名;`。例如,`SELECT empno, ename, sal, comm FROM emp;`将仅返回empno、ename、sal和comm四列。 3. 去除重复记录:使用`DISTINCT`关键字可以去除查询结果中的重复记录。如`SELECT DISTINCT * FROM 表名;`或`SELECT DISTINCT 列1, 列2, ... 列N FROM 表名;`。例如,`SELECT DISTINCT sal FROM emp;`确保每个工资值只显示一次。 4. 列运算: - 数量类型列的运算:可以进行加、减、乘、除,如`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;` 二、条件控制 1. 条件查询:通过`WHERE`子句对查询结果进行筛选。 - `WHERE sal > 10000 AND comm IS NOT NULL;`会返回sal大于10000且comm非NULL的记录。 - `WHERE sal BETWEEN 20000 AND 30000;`则会找出sal在20000到30000之间的记录。 - `WHERE job IN ('经理', '董事长');`会显示job为'经理'或'董事长'的员工信息。 2. 模糊查询:使用通配符进行模糊匹配。 - `%`代表零个、一个或多个字符,如`SELECT * FROM emp WHERE ename LIKE '张%';`将找到所有名字以"张"开头的员工。 - `_`代表单个字符,如`SELECT * FROM emp WHERE ename LIKE '张_';`会找到名字为两个字符且第二个字符是"张"的员工。 这些基础的SQL查询操作是数据分析和数据库管理的基础,掌握它们能帮助用户有效地从数据库中获取所需信息。在实际应用中,还可以结合其他功能,如聚合函数(COUNT, SUM, AVG, MAX, MIN等)、分组(GROUP BY)和排序(ORDER BY)等,以实现更复杂的查询需求。