news 2026/3/26 17:31:13

SQL Server数据库基础语法总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQL Server数据库基础语法总结

1. 数据查询语法(DQL)

DQL就是数据查询语言,数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端。

语法:

SELECT [TOP n /*结果限定*/ election_list /*要查询的列名称*/ FROM table_list /*要查询的表名称*/ WHERE condition /*行条件*/ GROUP BY grouping_columns /*对结果分组*/ HAVING condition /*分组后的行条件*/ ORDER BY sorting_columns /*对结果分组*/

创建表

-- 创建表 CREATE TABLE stu ( sid NCHAR(6), sname NVARCHAR (50), age INT, gender NVARCHAR (50) ) ; -- 添加数据 INSERT INTO stu VALUES('S_1001', 'liuYi', 35, 'male'); INSERT INTO stu VALUES('S_1002', 'chenEr', 15, 'female'); INSERT INTO stu VALUES('S_1003', 'zhangSan', 95, 'male'); INSERT INTO stu VALUES('S_1004', 'liSi', 65, 'female'); INSERT INTO stu VALUES('S_1005', 'wangWu', 55, 'male'); INSERT INTO stu VALUES('S_1006', 'zhaoLiu', 75, 'female'); INSERT INTO stu VALUES('S_1007', 'sunQi', 25, 'male'); INSERT INTO stu VALUES('S_1008', 'zhouBa', 45, 'female'); INSERT INTO stu VALUES('S_1009', 'wuJiu', 85, 'male'); INSERT INTO stu VALUES('S_1010', 'zhengShi', 5, 'female'); INSERT INTO stu VALUES('S_1011', 'xxx', NULL, NULL);

1.2 条件查询

条件查询就是在查询时给出WHERE子句,在WHERE子句中可以使用如下运算符及关键字:

  • =、!=、<>(不等于)、<、<=、>、>=

  • BETWEEN…AND

  • IN(set)

  • IS NULL

  • AND

  • OR

  • NOT

逻辑运算符

AND 并且 (多个条件同时成立)

OR 或者 (多个条件任意一个成立)

NOT 非 , 不是

优先级: NOT > AND > OR

1.3 模糊查询

当想查询姓名中包含a字母的学生时就需要使用模糊查询了。模糊查询需要使用关键字LIKE。

1.3.1 查询姓名由5个字母构成的学生记录

SELECT * FROM stu WHERE sname LIKE '_____';

模糊查询必须使用LIKE关键字。其中"_"匹配任意一个字母,5个"_"表示5个任意字母。

1.3.2 查询姓名由5个字母构成,并且第5个字母为“i”的学生记录

SELECT * FROM stu WHERE sname LIKE '____i';

1.3.3 查询姓名以“z”开头的学生记录

SELECT * FROM stu WHERE sname LIKE 'z%';

其中“%”匹配0~n个任何字母。

1.3.4 查询姓名中第2个字母为“i”的学生记录

SELECT * FROM stu WHERE sname LIKE '_i%';

1.3.5 查询姓名中包含“a”字母的学生记录

SELECT * FROM stu WHERE sname LIKE '%a%';1.4.1 去除重复记录

去除重复记录(两行或两行以上记录中系列的上的数据都相同),例如emp表中job字段就存在相同的记录。当只查询emp表的job字段时,那么会出现重复记录,那么想去除重复记录,需要使用DISTINCT:

SELECT DISTINCT job FROM emp;

1.5 排序

  • ASC : 升序(默认值)

  • DESC: 降序

1.6 聚合函数

聚合函数是用来做纵向运算的函数:

将一列数据作为一个整体,进行纵向计算

函数描述
COUNT()统计指定列不为NULL的记录行数
MAX()计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算
MIN()计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算
SUM()计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0
AVG()计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0

语法

SELECT 聚合函数(字段列表) FROM 表名 ;

注意 : NULL值是不参与所有聚合函数运算的。

1.7 分组查询

当需要分组查询时需要使用GROUP BY子句,例如查询每个部门的工资和,这说明要使用部分来分组。

语法:

SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组 后过滤条件 ];

where与having区别

  • 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组

之后对结果进行过滤。

  • 判断条件不同:where不能对聚合函数进行判断,而having可以。

注意事项:

  • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。

  • 执行顺序: where > 聚合函数 > having 。

  • 支持多字段分组, 具体语法为 : group by columnA,columnB

1.7.1 分组查询

  • 查询每个部门的部门编号和每个部门的工资和:

SELECT deptno, SUM(sal) FROM emp GROUP BY deptno;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/25 5:38:55

SeedVR2-3B终极指南:一步搞定专业级视频修复

视频修复技术迎来革命性突破&#xff01;字节跳动开源的SeedVR2-3B模型将复杂的视频修复流程压缩为单步推理&#xff0c;让普通用户也能轻松实现专业级视频修复效果。&#x1f3ac; 【免费下载链接】SeedVR2-3B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed…

作者头像 李华
网站建设 2026/3/24 7:16:42

突破性实战:如何实现wasm-bindgen项目性能优化与体积压缩

突破性实战&#xff1a;如何实现wasm-bindgen项目性能优化与体积压缩 【免费下载链接】wasm-bindgen Facilitating high-level interactions between Wasm modules and JavaScript 项目地址: https://gitcode.com/gh_mirrors/wa/wasm-bindgen 在WebAssembly技术快速发展…

作者头像 李华
网站建设 2026/3/25 22:38:34

Vortex模组管理困境的终极破局:从混乱到秩序的完整解决方案

Vortex模组管理困境的终极破局&#xff1a;从混乱到秩序的完整解决方案 【免费下载链接】Vortex Vortex: Nexus-Mods开发的游戏模组管理器&#xff0c;用于简化模组的安装和管理过程。 项目地址: https://gitcode.com/gh_mirrors/vor/Vortex 在当今游戏模组管理的复杂生…

作者头像 李华
网站建设 2026/3/18 18:18:42

STM32指纹密码锁终极指南:从电路设计到智能安防应用

STM32指纹密码锁终极指南&#xff1a;从电路设计到智能安防应用 【免费下载链接】STM32指纹密码锁电路图及PCB下载 本项目提供了一套完整的STM32指纹密码锁电路图及PCB设计文件&#xff0c;专为需要集成指纹识别和密码解锁功能的开发者打造。资源经过全面调试&#xff0c;确保稳…

作者头像 李华
网站建设 2026/3/24 11:47:01

免费试用PyTorch-CUDA镜像,体验专业级AI开发环境

免费试用PyTorch-CUDA镜像&#xff0c;体验专业级AI开发环境 在深度学习项目中&#xff0c;你是否曾为安装 PyTorch 和配置 CUDA 花掉整整两天&#xff1f;明明代码写好了&#xff0c;却卡在 ImportError: libcudart.so not found 或者“GPU不可用”的报错上。更别提团队协作时…

作者头像 李华
网站建设 2026/3/25 20:54:14

GodMode9 全权限文件管理器:3DS终极工具完全指南

GodMode9 是一款专为任天堂 3DS 便携式娱乐设备设计的全权限文件管理器&#xff0c;能够深度访问设备的所有存储区域&#xff0c;为用户提供前所未有的文件管理能力。无论您是普通用户还是技术爱好者&#xff0c;这款工具都能让您轻松掌控3DS设备。 【免费下载链接】GodMode9 G…

作者头像 李华