SQL Server的聚合函数、SQL Server的联合查询、SQL Server的左连接右连接内连接

一、SQL Server的聚合函数

在SQL Server中,常用的聚合函数包括:

  1. COUNT:计算指定列中非NULL值的数量。
  2. SUM:计算指定列中数值的总和。
  3. AVG:计算指定列中数值的平均值。
  4. MIN:计算指定列中的最小值。
  5. MAX:计算指定列中的最大值。
  6. GROUP BY:按照指定列的值进行分组。
  7. HAVING:对分组后的结果进行条件过滤。
  8. DISTINCT:去除查询结果中的重复行。

示例:

  1. 计算某表中的行数:

    SELECT COUNT(*) FROM table_name;

  2. 计算某列的总和:

    SELECT SUM(column_name) FROM table_name;

  3. 计算某列的平均值:

    SELECT AVG(column_name) FROM table_name;

  4. 计算某列的最小值:

    SELECT MIN(column_name) FROM table_name;

  5. 计算某列的最大值:

    SELECT MAX(column_name) FROM table_name;

  6. 分组统计某列的数量:

    SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;

  7. 分组统计某列的数量,并筛选结果:

    SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 1;

  8. 查询某列的不重复值:

    SELECT DISTINCT column_name FROM table_name;

请注意,在使用聚合函数时,需要将其与其他列一起使用时,可能需要使用GROUP BY子句来分组数据。

二、SQL Server的联合查询

在 SQL Server 中,可以使用 UNION 或 UNION ALL 运算符来进行联合查询。这两个运算符的区别在于 UNION 运算符会去除重复行,而 UNION ALL 运算符会包含所有行,包括重复行。

下面是一个使用 UNION 运算符的示例:

SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2

这个查询将会返回 table1 和 table2 中的所有不重复的行。

下面是一个使用 UNION ALL 运算符的示例:

SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2

这个查询将会返回 table1 和 table2 中的所有行,包括重复行。

注意:在进行联合查询时,要确保两个 SELECT 语句中选取的列数和数据类型一致。

三、SQL Server的左连接右连接内连接

在SQL Server中,连接(JOIN)是用于从两个或多个表中检索数据的常见操作。以下是SQL Server中的三种主要的连接类型:左连接(LEFT JOIN)、右连接(RIGHT JOIN)和内连接(INNER JOIN)。

  1. 左连接(LEFT JOIN 或 LEFT OUTER JOIN):

左连接会返回左表中的所有记录,以及与右表匹配的记录。如果在右表中没有匹配的记录,则结果集中对应的字段将包含NULL值。

示例:

SELECT A.*, B.*  
FROM TableA A  
LEFT JOIN TableB B ON A.Key = B.Key;

      2.右连接(RIGHT JOIN 或 RIGHT OUTER JOIN):

右连接与左连接相反,会返回右表的所有记录和与左表匹配的记录。如果在左表中没有匹配的记录,结果集中的字段将包含NULL值。

示例:

SELECT A.*, B.*  
FROM TableA A  
RIGHT JOIN TableB B ON A.Key = B.Key;

    3.内连接(INNER JOIN):

内连接只会返回两个表中都有匹配的记录。如果没有匹配的记录,结果集中不会包含相应的行。

示例:

SELECT A.*, B.*  
FROM TableA A  
INNER JOIN TableB B ON A.Key = B.Key;

在实际应用中,选择使用哪种连接类型取决于你的查询需求和想要获取的数据。一般来说,内连接和左连接是最常见的。右连接在实际使用中相对较少,因为你可以通过将你的查询条件反转来达到同样的效果,而且这样的查询可能更容易理解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/584156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[CSP-J2019] 公交换乘

[CSP-J2019] 公交换乘 题目描述 著名旅游城市 B 市为了鼓励大家采用公共交通方式出行,推出了一种地铁换乘公交车的优惠方案: 在搭乘一次地铁后可以获得一张优惠票,有效期为 45 分钟,在有效期内可以消耗这张优惠票,免…

vue计算属性和侦听器

computed 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护,对于任何包含响应式数据的复杂逻辑,你都应该使用计算属性。 计算属性与methods区别: computed是带缓存的…

Unity Shader-真实下雨路面

Unity Shader-真实下雨路面 简介素材1.准备插件Amplify Shader Editor(这里我使用的是1.6.4最新版)2.贴纸和切图d 一、创建一个Shader Surface,实现气泡播放效果二、叠加一次气泡播放效果,使其看起来更多,更无序三、小…

新火种AI|AI正在让汽车成为“消费电子产品”

作者:一号 编辑:小迪 AI正在让汽车产品消费电子化 12月28日,铺垫许久的小米汽车首款产品——小米SU7正式在北京亮相。命里注定要造“电车”的雷军,在台上重磅发布了小米的五大自研核心技术。在车型设计、新能源技术以及智能科技…

手把手带你入门本地AI绘画(Stable Diffusion)

AIGC现如今可谓是如日中天,AI绘画算是其中最火的其中之一了。现在的AI绘图工具也是百家争鸣,不管是网页端,APP端,还是小程序端,都能看到各种各样的AI绘图工具,他们多是需要你发送关键词或绘图命令到他们的服务器,然后由服务器渲染完成之后返图给你,所以一定会占用他们的…

概率论相关题型

文章目录 概率论的基本概念放杯子问题条件概率与重要公式的结合独立的运用 随机变量以及分布离散随机变量的分布函数特点连续随机变量的分布函数在某一点的值为0正态分布标准化随机变量函数的分布 多维随机变量以及分布条件概率max 与 min 函数的相关计算二维随机变量二维随机变…

机器学习笔记--半监督节点分类:标签传播和消息传递

斯坦福大学CS224W图机器学习笔记 学习参考 CS224W公开课:双语字幕 斯坦福CS224W《图机器学习》课程(2021) by Jure Leskove 官方课程主页:官方主页 子豪兄精讲:斯坦福CS224W图机器学习、图神经网络、知识图谱 同济子豪兄 子豪兄公开代码:同济子豪兄CS224W公开课 基于…

4-链表-合并两个有序链表

这是链表的第4题,来个简单算法玩玩。力扣链接。 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2&#xff…

JS 嵌套循环之退出顶层循环

我们常常写循环的时候&#xff0c;可能会遇到嵌套循环&#xff0c;如果出现退出循环&#xff0c;一层还好&#xff0c;多层循环就费劲了&#xff0c;传统做法是加 flag&#xff0c;如下&#xff1a; for (let i 0; i < 10; i) {let flag falsefor (let j 0; j < 5; j…

【Angular 】Angular 模板中基于角色的访问控制

您是否在Angular模板中实现角色库访问控制&#xff1f;一种方法是通过*ngIf&#xff0c;但我不会选择该路径&#xff0c;因为它将在Angular模板中包含自定义函数&#xff0c;并且很难维护。正确的方法是使用Angular结构指令&#x1f680;. 什么是RBAC&#xff1f; 基于角色的…

MySQL常见面试题汇总

Java面试题总结 MySQL面试题 MySQL 字段类型 整数类型的 UNSIGNED 属性有什么用&#xff1f; CHAR 和 VARCHAR 的区别是什么&#xff1f; VARCHAR(100)和 VARCHAR(10)的区别是什么&#xff1f; DECIMAL 和 FLOAT/DOUBLE 的区别是什么&#xff1f; 为什么不推荐使…

自然语言处理(第16课 机器翻译4、5/5)

一、学习目标 1.学习各种粒度的系统融合方法 2.学习两类译文评估标准 3.学习语音翻译和文本翻译的不同 4.学习语音翻译实现方法 二、系统融合 以一个最简单的例子来说明系统融合&#xff0c;就是相当于用多个翻译引擎得到不同的翻译结果&#xff0c;然后选择其中最好的作为…

【网络安全 | XCTF】2017_Dating_in_Singapore

正文 题目描述&#xff1a; 01081522291516170310172431-050607132027262728-0102030209162330-02091623020310090910172423-02010814222930-0605041118252627-0203040310172431-0102030108152229151617-04050604111825181920-0108152229303124171003-261912052028211407-0405…

如何有效使用 .gitignore 文件

在任何使用 Git 的软件项目中&#xff0c;.gitignore 文件都是一个必不可少的工具。它帮助开发者定义哪些文件和目录应该被 Git 忽略&#xff0c;从而保持代码库的整洁和管理的简便性。 什么是 .gitignore&#xff1f; .gitignore 文件是一个文本文件&#xff0c;您可以在其中指…

Linux开发工具——gdb篇

Linux下调试工具——gdb 文章目录 makefile自动化构建工具 gdb背景 gdb的使用 常用命令 总结 前言&#xff1a; 编写代码我们使用vim&#xff0c;编译代码我们使用gcc/g&#xff0c;但是我们&#xff0c;不能保证代码没问题&#xff0c;所以调试是必不可少的。与gcc/vim一样&…

CSS日常总结--CSS伪类

CSS日常总结–CSS伪类 文章目录 CSS日常总结--CSS伪类前言1.结构性伪类:1. :first-child&#xff1a;选择父元素下的第一个子元素2. :last-child&#xff1a;选择父元素下的最后一个子元素3. :nth-child(n)&#xff1a;选择父元素下的第n个子元素4. :nth-last-child(n)&#xf…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前实时帧率(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前实时帧率&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的帧率的技术背景Baumer工业相机的帧率获取方式CameraExplorer如何查看相机帧率信息在NEOAPI SDK里通过函数获取相机帧率&#xff08;C&#xff09; …

从方程到预测:数学在深度学习中的作用

图片来源 一、说明 深度学习通常被认为是人工智能的巅峰之作&#xff0c;它的成功很大程度上归功于数学&#xff0c;尤其是线性代数和微积分。本文将探讨深度学习与数学之间的深刻联系&#xff0c;阐明为什么数学概念是该领域的核心。 二、数学框架 从本质上讲&#xff0c;深度…

水经微图IOS版即将发布!

我们从上周开始&#xff0c;已经在着手提交产品到苹果商店等相关工作&#xff0c;但又恰逢“圣诞节”&#xff0c;据说这会导致延长审核周期。 正所谓行百里者半九十&#xff0c;我们现在只需要耐心等待审核通过&#xff0c;到时大家就可以在苹果商店中下载安装了。 IOS版功能…

echarts半圆进度条半圆饼图

drawmonthproduce(){this.monthproduce echarts.init(document.getElementById(monthproduce));var data 60; //数值大小var max 100; //满刻度大小this.monthproduce.setOption({title: [{text: data %, left: 50%,top: 70%,textAlign: center,textStyle: {// fontWeight…