### SQL的一些用法小结 #### 一、基础查询技巧 **1. 模糊查询** - **LIKE 关键字**: 使用 `%` 和 `_` 通配符进行模糊查询。 - `%` 代表任意数量的字符,包括零个字符。 - `_` 代表一个字符。 **示例**: 查询表名中的“查询字段”包含“biao_”的数据。 ```sql SELECT * FROM 表名 WHERE 查询字段 LIKE '%biao_'; ``` **2. 字符串连接** - **使用 `||` 连接多个字段**。 - **示例**: 将两个字段通过逗号连接起来。 ```sql SELECT 字段1 || ',' || 字段2 AS 别名 FROM 表名; ``` **3. 查找非空项** - **使用 `IS NOT NULL`** 来筛选出非空的记录。 - **示例**: 查询表中某个字段非空的所有记录。 ```sql SELECT * FROM 表名 WHERE 字段 IS NOT NULL; ``` **4. 集合查询** - **UNION**: 返回两个查询结果集的并集,并自动去重。 - **UNION ALL**: 返回两个查询结果集的并集,不去重。 - **INTERSECT**: 返回两个查询结果集的交集。 - **MINUS**: 返回第一个查询结果集中存在但第二个查询结果集中不存在的记录。 **示例**: ```sql -- UNION 示例 SELECT 字段1 FROM 表1 UNION SELECT 字段1 FROM 表2; -- UNION ALL 示例 SELECT 字段1 FROM 表1 UNION ALL SELECT 字段1 FROM 表2; -- INTERSECT 示例 SELECT 字段1 FROM 表1 INTERSECT SELECT 字段1 FROM 表2; -- MINUS 示例 SELECT 字段1 FROM 表1 MINUS SELECT 字段1 FROM 表2; ``` **5. 从属运算** - **IN**: 用于判断某字段是否在指定的列表中。 - **BETWEEN...AND...**: 判断某字段是否位于指定的两个值之间。 **示例**: ```sql SELECT * FROM 表 WHERE 字段 IN ('值1', '值2'); SELECT * FROM 表 WHERE 字段 BETWEEN Min AND Max; ``` #### 二、常用函数 **1. COUNT**: 统计满足条件的记录数。 **示例**: 计算满足特定条件的记录数。 ```sql SELECT COUNT(*) FROM 表 WHERE 条件; ``` **2. SUM**: 求和。 **示例**: 计算某字段所有值的总和。 ```sql SELECT SUM(字段) FROM 表; ``` **3. AVG**: 平均值。 **示例**: 计算某字段所有值的平均值。 ```sql SELECT AVG(字段) FROM 表; ``` **4. MAX/MIN**: 最大/最小值。 **示例**: 获取某字段的最大/最小值。 ```sql SELECT MAX(字段) FROM 表; SELECT MIN(字段) FROM 表; ``` **5. USER**: 获取当前数据库用户的名字。 **示例**: 显示当前用户的名称。 ```sql SELECT USER FROM 表; ``` #### 三、高级查询 **1. GROUP BY**: 分组。 **示例**: 对某字段进行分组,并计算每个分组的汇总值。 ```sql SELECT SUM(字段1) FROM 表 GROUP BY 字段2 HAVING 条件; ``` **2. HAVING**: 在GROUP BY之后设置条件。 **示例**: 在分组后过滤结果。 ```sql SELECT SUM(字段1) FROM 表 GROUP BY 字段2 HAVING 条件; ``` #### 四、子查询 - **单一值子查询**: 子查询的结果必须是唯一的。 - **多值子查询**: 子查询的结果可以有多个。 - **EXISTS**: 判断子查询是否有结果。 **示例**: ```sql SELECT * FROM 表1 WHERE 字段 = (SELECT 字段 FROM 表2 条件); SELECT * FROM 表1 WHERE 字段 IN (SELECT 字段 FROM 表2 条件); SELECT * FROM 表1 WHERE EXISTS (SELECT * FROM 表2); ``` #### 五、数据操作语句 **1. 插入数据** - **使用子查询插入数据**: 可以从一个表复制数据到另一个表。 **示例**: ```sql INSERT INTO 表1 (字段1, 字段2) SELECT 字段1, 字段2 FROM 表2 条件; ``` **2. 创建和操作表** - **创建表**: 定义表结构。 **示例**: ```sql CREATE TABLE table_name ( field1 datatype [NOT NULL], field2 datatype [NOT NULL], field3 datatype [NOT NULL] ); ``` - **ALTER TABLE**: 修改表结构。 **示例**: ```sql ALTER TABLE table_name ADD column_name datatype; ALTER TABLE table_name MODIFY column_name datatype; ``` - **删除表或数据库**: **示例**: ```sql DROP TABLE table_name; DROP DATABASE database_name; ``` - **创建临时表**: **示例**: ```sql CREATE TABLE #table_name ( field1 datatype, ... fieldn datatype ); ``` #### 六、存储过程 - **创建存储过程**: 定义一组SQL语句,可带参数。 **示例**: ```sql CREATE PROCEDURE procedure_name ([@parameter_name datatype [(length) | (precision[,scale])] [= default] [output], ...]) WITH RECOMPILE; ``` 以上总结了SQL的一些基本用法,包括基础查询技巧、常用函数、高级查询、子查询以及数据操作等各个方面。这些知识对于SQL初学者来说非常有用,能够帮助他们在实际工作中更好地处理数据问题。




























- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 试验小学综合布线工程竣工文档.doc
- 工程风险管理信息化需求方案设计.doc
- 互联时代背景下计算机网络数据安全管理方法探析.docx
- 圈层传播视域下青少年网络舆情的治理机制研究.docx
- 区块链技术来了银行有五种方式应用.docx
- 计算机网络应用基础.doc
- 医院计算机网络规划设计.docx
- “远离网络游戏”主题班会.ppt
- 单片机课程研究设计led流水灯研究设计报告.doc
- 江苏省有线电视网络双向化改造技术实施方案终发文稿.doc
- PLC的电动机顺序起动停止控制设计方案.doc
- 机电传动控制实验台实验项目管理介绍.doc
- 电力工程自动化技术的应用.docx
- 实验三-网络模拟软件的使用(上).doc
- 数字图像修复算法及其实现-(1).doc
- 《中图法》(五版)计算机技术软件工具、工具软件的改进措施.doc


