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币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【中泰证券-2024研报-】银行戴志锋:重庆区域专题 经济景气度提升,个股基本面向好.pdf
- 【国海证券-2024研报-瑞鹄模具】2024Q3业绩点评:2024Q3营收利润同比增长,盈利能力提升.pdf
- 【格林期货-2024研报-】格林大华期货有色贵金属.pdf
- 【国海证券-2024研报-福耀玻璃】福耀玻璃(600660):2024Q3业绩符合预期,单季收入创历史新高.pdf
- 【国海证券-2024研报-福耀玻璃】2023年三季报点评:2024Q3业绩符合预期,单季收入创历史新高.pdf
- 【格林期货-2024研报-】一周简评:板块及品种.pdf
- 【格林期货-2024研报-】格林大华期货一周期市简评.pdf
- 【国海证券-2024研报-京東集團-SW】京东集团-SW(09618):2024Q3业绩前瞻:以旧换新推动收入增长回暖,利润稳健释放.pdf
- 【格林期货-2024研报-】格林大华期货一周简评.pdf
- 【格林期货-2024研报-】研究院专题报告:9月M1增速续创新低.pdf
- 【国海证券-2024研报-百亚股份】百亚股份(003006):2024年三季报点评:电商渠道持续高增,产品升级带动盈利稳步提升.pdf
- 【国海证券-2024研报-海光信息】海光信息(688041):科创板公司动态研究:Q3业绩倍数增长,存货+预付款展现成长信心.pdf
- 毕设&课程作业_基于C#的汽车衡智能称重系统.zip
- 毕设&课程作业_基于C#的课程管理系统基于vs2017+Sql Server环境.zip
- 毕设&课程作业_基于C#的股票分析系统客户端.zip
- 毕设&课程作业_基于C#的winform酒店管理系统,功能基本完善.zip