SQL 查询语句、纯文本格式(有小例)
### SQL 查询语句详解 #### 一、SELECT 语句结构 在 SQL 中,`SELECT` 语句是最常用的查询语句之一,用于从数据库中检索数据。它可以帮助我们选择特定的数据行或列来满足我们的需求。 #### 二、SELECT 字句 1. **基本查询**:使用 `SELECT` 语句可以指定需要查询的字段。 - 示例: ```sql SELECT * FROM xsqk; ``` 这条语句将返回表 `xsqk` 中的所有列和所有行。 2. **指定列**:可以选择具体的列名而不是使用通配符 `*`。 - 示例: ```sql SELECT 学号, 姓名 FROM xsqk; ``` 这条语句将只返回学号和姓名这两列的信息。 3. **计算列**:可以在 `SELECT` 语句中进行简单的计算,并作为新的列显示。 - 示例: ```sql SELECT 学号, 学时 + 1 AS 新学时 FROM xskc; ``` 此语句将返回每条记录中的学时加上 1 的结果,并命名为“新学时”。 4. **去重**:通过 `DISTINCT` 关键字可以去除查询结果中的重复记录。 - 示例: ```sql SELECT DISTINCT 专业, 班级 FROM xsqk; ``` 这条语句将返回不重复的专业和班级组合。 #### 三、WHERE 子句 `WHERE` 子句用于过滤数据,只返回满足指定条件的记录。 1. **比较运算符**:如 `=`, `!=`, `<`, `>`, `<=`, `>=` 等。 - 示例: ```sql SELECT 学号, 姓名, 学时 FROM xskc WHERE 学时 > 65; ``` 这条语句将返回学时大于 65 的所有记录。 2. **范围查询**:使用 `BETWEEN AND` 可以指定一个值的范围。 - 示例: ```sql SELECT 学号, 姓名, 学时 FROM xskc WHERE 学时 BETWEEN 65 AND 80; ``` 这条语句将返回学时介于 65 和 80 之间的所有记录。 3. **列表查询**:使用 `IN` 可以检查一个值是否在指定的列表中。 - 示例: ```sql SELECT * FROM xsqk WHERE 专业 IN ('信息', '计算机'); ``` 这条语句将返回专业为“信息”或“计算机”的所有记录。 4. **模式匹配**:使用 `LIKE` 进行模式匹配,通常用 `%` 表示任意字符。 - 示例: ```sql SELECT * FROM xsqk WHERE 姓名 LIKE '%明%'; ``` 这条语句将返回名字中包含“明”的所有记录。 5. **空值判断**:使用 `IS NULL` 或 `IS NOT NULL` 来判断某列是否为空。 - 示例: ```sql SELECT * FROM xsqk WHERE 电话 IS NULL; ``` 这条语句将返回电话号码为空的所有记录。 #### 四、ORDER BY 子句 `ORDER BY` 子句用于对结果集进行排序,默认是降序(DESC),可以通过 ASC 指定升序排序。 - 示例: ```sql SELECT 学号, 姓名, 学时 FROM xskc ORDER BY 学时 ASC; ``` 这条语句将按照学时升序返回所有记录。 #### 五、GROUP BY 子句 `GROUP BY` 子句用于结合聚合函数(如 COUNT()、AVG()、SUM() 等)对结果集按一列或多列分组。 - 示例: ```sql SELECT 专业, 班级, COUNT(*) AS 人数 FROM xsqk GROUP BY 班级, 专业; ``` 这条语句将返回每个班级和专业的学生人数。 #### 六、COMPUTE 子句 `COMPUTE` 子句用于在查询结果底部添加汇总行,显示聚合函数的结果。 - 示例: ```sql SELECT 学号, 姓名, 学时 FROM xskc WHERE 学号 = 2 COMPUTE AVG(学时); ``` 这条语句将返回学号为 2 的学生的学时,并在底部显示这些学生的平均学时。 #### 七、UNION 和 JOIN 1. **UNION**:用于合并两个或多个 SELECT 语句的结果集。每个 SELECT 语句必须拥有相同数量的列,且相应列的数据类型也必须相同。 - 示例: ```sql (SELECT 学号, 姓名 FROM xsqk) UNION (SELECT 学号, 姓名 FROM xscj); ``` 这条语句将返回两个表中不同的学号和姓名组合。 2. **JOIN**:用于将两个或多个表中的行组合起来,基于它们的公共列。 - 示例: ```sql SELECT xsqk.姓名, xskc.课程, xscj.成绩 FROM xscj JOIN xsqk ON xsqk.学号 = xscj.学号 JOIN xskc ON xskc.课程编号 = xscj.课程编号; ``` 这条语句将连接三个表,返回学生的姓名、所选课程和成绩。 #### 总结 以上就是关于 SQL 查询语句的一些基本介绍和示例。掌握这些基础可以帮助你更好地理解和使用 SQL 语言,从而有效地从数据库中检索数据。随着实践的深入,你还可以学习更多高级功能,例如子查询、复杂 JOIN 操作等,以进一步提高你的查询能力。
一、select子句
1、选择所有
select
2、指定列并指定他们的显示次序
select 专业,姓名 from xsqk
select 课程名, 分数=分数+1 from xskc
3、指定列标题
select 课程名称, 学时数=学时 from xskc
4、删除重复行
ALL(显示所有行)DISTINCT(删除重复行) 默认为ALL
select distinct 专业, 班级 from xsqk
二、where子句(指定查询)
select 课程号, 课程名称, 学时 from xskc where 学时>65
========================================================================
运算符类别 | 运算符 | 功能
―――――――――――――――――――――――――――――――――――――――――
比较运算符 | >、>=、=、<=、<、!>、!< | 比较大小
―――――――――――――――――――――――――――――――――――――――――
范围运算 | between…and… |判断值是否在指定范围之内
| not between…and… |
―――――――――――――――――――――――――――――――――――――――――
列表运算符 | in not in |判断值是否为列表中指定项
―――――――――――――――――――――――――――――――――――――――――
模式匹配 | like notlike |判断是否与指定的字符通配格式相符
―――――――――――――――――――――――――――――――――――――――――
空值判断符 | is null is not null | 判断值是否为空
―――――――――――――――――――――――――――――――――――――――――
逻辑运算符 | and or not | 用于多个条件的逻辑连接
- bingfeng7998869552013-02-17还行吧,比较基础
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 在 Linux 中发送 HTTP 请求的多种方法:使用 curl、wget 和 Python 示例
- 毕业设计Python+基于OpenCV的交通路口红绿灯控制系统设计源码(Sqlite +PyCharm)
- 校园二手交易管理系统+vue
- 制作一棵美丽的圣诞树:HTML 和 CSS 实现指南
- 基于Python+OpenCV的交通路口红绿灯控制系统设计源码(高分毕设)
- 基于SSM的停车管理系统+jsp设计和实现
- 毕业设计 基于Python+carla的高性能分布式自动驾驶仿真系统源码(高分项目)
- SQL学习资料(必知必会)
- 毕业设计-基于carla的高性能分布式自动驾驶仿真系统源码(高分项目)
- 企业员工管理系统+vue