简单的查询语言
需积分: 0 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`列的所有唯一值。
q7216516
- 粉丝: 2
- 资源: 1
最新资源
- 免费,局域网,IP电话, SIP, VOIP, 视频通话,可与PC互通,手机版本, apk版本
- 自动驾驶业务未来:未来交通
- Linux防火墙的概述 包过滤的防火墙工作层次 netfileter firewalld
- STM32驱动CC1101代码与pdf
- ToolPlatform
- 某平台北京二手房数据.zip
- 通讯原理 的应用级开发 嵌入式
- 识别机械手sw17可编辑全套技术开发资料100%好用.zip
- 基于STM32F103C8T6的PS2遥控小车源码及接线(已调)
- (4891456)基于单片机交通灯系统
- (8814216)LIBSVM 超级详细入门经典
- (10412002)51单片机串口通信
- 石英管清洗机 氢氟酸适用(含工程图bomsw20可编辑)全套技术开发资料100%好用.zip
- (132417216)C++版本-贪吃蛇游戏
- 丢包测试小工具,可以长时间持续监控网络状态,并保存为带时间 戳的日志,方便运维分析
- (174151234)matlab矩阵位移法实现有限元求解