简单的查询语言

preview
需积分: 0 1 下载量 21 浏览量 更新于2016-11-17 收藏 17KB DOCX 举报
### 简单查询语言概览 #### 一、结构化查询语言的分类 SQL(Structured Query Language),即结构化查询语言,是一种专门用于管理关系型数据库的标准语言。按照功能不同,可以将其大致分为以下几类: 1. **数据查询语言(Data Query Language, DQL)**:主要用于从数据库中检索数据,最常用的是`SELECT`语句。 2. **数据操纵语言(Data Manipulation Language, DML)**:包括`INSERT`、`UPDATE`和`DELETE`等语句,用于插入、更新和删除数据库中的数据。 3. **事务控制语言(Transaction Control Language, TCL)**:主要包括`COMMIT`和`ROLLBACK`等语句,用于控制事务的提交和回滚。 4. **数据控制语言(Data Control Language, DCL)**:主要包括`GRANT`和`REVOKE`等语句,用于授予或撤销用户对数据库对象的访问权限。 5. **数据定义语言(Data Definition Language, DDL)**:主要包括`CREATE`、`DROP`和`ALTER`等语句,用于定义、销毁或修改数据库对象如表、视图等。 #### 二、基本SELECT语句 `SELECT`语句是最常用的SQL语句之一,用于从数据库中检索数据。其最基本的格式为: ```sql SELECT * FROM 表名; ``` 例如: ```sql SELECT * FROM emp; ``` 这条语句表示从`emp`表中选取所有列的所有数据。 #### 三、算术运算符 算术运算符用于执行数学运算,常见的有加`+`、减`-`、乘`*`、除`/`等。在SQL中,这些运算符的使用方式与大多数编程语言相同。需要注意的是,在SQL中,运算符的优先级与数学中的规则一致: - 乘除运算符优先于加减运算符。 - 如果有多个运算符,按照从左到右的顺序计算。 - 使用括号可以改变运算的优先级,括号内的运算先进行。 例如: ```sql SELECT ename, sal, sal + 300 FROM emp; ``` 此语句表示从`emp`表中选取`ename`列、`sal`列以及将`sal`列的每个值加上300的结果。 #### 四、空值(NULL) 在SQL中,`NULL`代表未知或没有值。它不是0也不是空字符串,而是一个特殊的标记。与`NULL`相关的任何算术运算结果均为`NULL`。 #### 五、列别名 列别名是指在查询结果中显示的列名称,而不是表中的实际列名。这通常用于使结果更易于阅读或提供更有意义的信息。列别名可以通过以下两种方式指定: - 直接在列名后紧跟别名:`列名 别名` - 或者使用`AS`关键字:`列名 AS 别名` 例如: ```sql SELECT ename "员工姓名", sal "薪水" FROM emp; ``` 此外,如果别名包含空格、特殊字符或需要区分大小写,则需要使用双引号包围别名。 #### 六、连接操作符 连接操作符`||`用于连接两个或多个字符串或列。它主要用于创建新的字符串或组合现有的列值。 例如: ```sql SELECT ename || '的工资是' || sal AS "谁的工资" FROM emp; ``` 此语句会将`ename`列、字符串“的工资是”以及`sal`列的值连接在一起,并将结果作为名为“谁的工资”的列显示。 #### 七、原义字符串 在SQL中,原义字符串可以直接写入查询语句中,通常用于字符串字面量、数字或日期。字符串字面量需要使用英文单引号括起来,例如: ```sql SELECT ename || '的工资是' || sal AS "谁的工资" FROM emp; ``` #### 八、消除重复行 使用`DISTINCT`关键字可以消除查询结果中的重复行,只保留唯一的记录。 例如: ```sql SELECT DISTINCT deptno FROM emp; ``` 这条语句会从`emp`表中选取`deptno`列的所有唯一值。