iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SQL SERVER如何实现连接与合并查询
  • 664
分享到

SQL SERVER如何实现连接与合并查询

2023-06-29 06:06:36 664人浏览 安东尼
摘要

这篇文章主要介绍了sql SERVER如何实现连接与合并查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。创建测试表MyStudentInfoCREATE 

这篇文章主要介绍了sql SERVER如何实现连接与合并查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创建测试表MyStudentInfo

CREATE table MyStudentInfo(Id int not null primary key,Name varchar(16),Age int,Gender varchar(2),Phone varchar(16),Address varchar(50),GradeId int)

联合插入多条数据

INSERT INTO MyStudentInfoSELECT 1,'张三',20,'1','15801258912','上海',1 UNIONSELECT 2,'李四',22,'1','12345678901','北京',1 UNioNSELECT 3,'王五',16,'1','13976891234','天津',2 UNIONSELECT 4,'赵六',19,'1','18676891234','重庆',3 UNIONSELECT 5,'小红',21,'2','17776891234','广州',4 UNIONSELECT 6,'小王',25,'2','13176891234','深圳',5 UNIONSELECT 7,'小刘',18,'2','13374591234','南京',6 UNIONSELECT 8,'小张',16,'1','13974596734','长沙',6 UNIONSELECT 9,'小罗',27,'1','13175122786','武汉',7 UNIONSELECT 10,'小袁',21,'2','17715872346','石家庄',8

创建测试表GradeInfo

CREATE table GradeInfo(Id int not null primary key,GradeName varchar(16))

联合插入多条数据

INSERT INTO GradeInfoSELECT 1,'.net' UNIONSELECT 2,'Android' UNIONSELECT 3,'PHP' UNIONSELECT 4,'UI' UNIONSELECT 5,'HTML5' UNIONSELECT 6,'JAVA' UNIONSELECT 9,'hadoop' UNIONSELECT 10,'大数据'

内链接

内链接是从结果表中删除其他被链接表中没有匹配的所有行,所以我们说内链接可能丢失数据

SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeNameFROM MyStudentInfo s INNER JOIN GradeInfo g ON s.GradeId=g.Id

SQL SERVER如何实现连接与合并查询

外部链接

左外联接,关键字LEFT JOIN

左外联接,结果集中包括左表中的所有行,如果左表的某一行在右表中没有匹配行,则在关联的结果集行中,

来自右表的所有选择列表均为NULL

SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeNameFROM MyStudentInfo s LEFT JOIN GradeInfo g ON s.GradeId=g.Id

SQL SERVER如何实现连接与合并查询

右外联接

GIGHT JOIN进行联接

是左外联接的反向联接,将返回右表的所有行,如果右表的某一行在左表中没有匹配行,则将为左表返回NULL

SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeNameFROM MyStudentInfo s RIGHT JOIN GradeInfo g ON s.GradeId=g.Id

SQL SERVER如何实现连接与合并查询

完整外联接

关键字是FULL JOIN

完整外联接使用了FULL JOIN进行联接,当某一行在另一表中没有匹配行,另一表的选择列表将返回NULL

SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeNameFROM MyStudentInfo s FULL JOIN GradeInfo g ON s.GradeId=g.Id

SQL SERVER如何实现连接与合并查询

交叉联接(笛卡尔积)

CORSS JOIN 没有where 也没有on,返回行数是两表行数的乘积

SELECT s.Id,s.Name,s.Age,s.Gender,s.Phone,s.GradeId,g.GradeNameFROM MyStudentInfo s CROSS JOIN GradeInfo g

SQL SERVER如何实现连接与合并查询

UNION:UNION操作符用于合并两个或多个 SELECT 语句的结果集

UNION必须遵循

  • 两个SELECT语句选择列表中的列数目必须一样,而且对应位置上的列的数据类型必须相同或者兼容,每条 SELECT 语句中的列的顺序必须相同

  • UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名

  • union默认自动去除重复行

  • 如果需要手动排序,order by语句必须加在最后一个select语句之后,但是他所使用的排序列名必须是第一个select选择列表中的列名

SELECT Age,Name FROM MyStudentInfoUNIONSELECT Id,GradeName FROM GradeInfoORDER BY Age DESC

SQL SERVER如何实现连接与合并查询

UNION ALL

  • 加上ALL关键字之后,功能就是不删除重复行,也不对行进行自动排序

  • 如果希望把不同数据类型的字段合并查询,必须进行类型转换使其相对应的数据类型相同或者兼容

  • 当合并两个表,列数不同时.只要向其中一个表源中添加列,就可以使其两个表的列数相同

SELECT Age,Name,Address FROM MyStudentInfoUNION ALLSELECT Id,GradeName,NULL FROM GradeInfoORDER BY Age DESC

SQL SERVER如何实现连接与合并查询

UNION和联接查询有什么区别

  • 在合并中,两个表的数量和数据类型必须相同 ; 在联接中,一个表的行可能与另一个表的行有很大的区别

  • 在合并中,行的数量是两个表行的"和" ; 在联接中,行的最大数目是他们的"乘积"

感谢你能够认真阅读完这篇文章,希望小编分享的“SQL SERVER如何实现连接与合并查询”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: SQL SERVER如何实现连接与合并查询

本文链接: https://www.lsjlt.com/news/323320.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL SERVER如何实现连接与合并查询
    这篇文章主要介绍了SQL SERVER如何实现连接与合并查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。创建测试表MyStudentInfoCREATE ...
    99+
    2023-06-29
  • SQLSERVER实现连接与合并查询
    创建测试表MyStudentInfo CREATE table MyStudentInfo ( Id int not null primary key, Name varcha...
    99+
    2024-04-02
  • SQL如何实现多表连接查询
    小编给大家分享一下SQL如何实现多表连接查询,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 按连接方式分为等连接、非等连接、外连接、自连接、多表关联等1、等连...
    99+
    2024-04-02
  • SQL Server怎么使用CROSS APPLY与OUTER APPLY实现连接查询
    本篇内容主要讲解“SQL Server怎么使用CROSS APPLY与OUTER APPLY实现连接查询”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就...
    99+
    2024-04-02
  • SQL Server连接查询的实用教程
    前沿小补充 例3.48 查询平均成绩大于等于80分的学生学号和平均成绩 SELECT Sno,AVG(Grade) FROM SC WHERE AVG(Grade...
    99+
    2024-04-02
  • SQL Server中怎么连接查询
    SQL Server中怎么连接查询,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。什么是连接查询呢?概念:根据两个表或多个表的列之间的关系,从这...
    99+
    2024-04-02
  • SQL Server中怎么实现多表连接查询功能
    SQL Server中怎么实现多表连接查询功能 ,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。具体代码如下所示:-- ...
    99+
    2024-04-02
  • SQL Server数据库连接查询和子查询实战案例
    目录前言1.查询所有学生的学号、姓名、选修课程号和成绩2.查询选修了课程名称为“数据库原理与应用”的学生的学号和姓名3.使用别名实现查询所有学生的学号、姓名、...
    99+
    2023-05-16
    sqlserver连接查询语句 sqlserver子查询 sqlserver子查询语句
  • SQL如何连接查询2 外连接
    这篇文章主要介绍了SQL如何连接查询2 外连接,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 外连接主要包括左连接、右连接和完整外部连接。 ...
    99+
    2024-04-02
  • SQL Server如何实现全文搜索查询
    本篇内容介绍了“SQL Server如何实现全文搜索查询”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、概述全文索引在表中包括一...
    99+
    2023-07-05
  • C/C++并查集的查询与合并实现原理
    目录一、并查集的概念二、并查集的实现1.并查集不同集合(树)的形成2.find()函数找一个元素集合的编号3.合并两个不同集合(合并两棵不同的树)4.查询两个元素是否在一个集合5.并...
    99+
    2023-02-13
    C++并查集的查询与合并 C语言并查集的合并与查询
  • JDBC连接MySQL并实现模糊查询
    场景: 在学习JDBC的语言中,每次都执行通用的几步:即注册驱动,获取连接,创建操作,处理结果,释放资源 过于复杂,因此不妨将上述步骤封装成工具类,只对外提供方法! 描述: 这是不使...
    99+
    2024-04-02
  • 如何调优SQL Server查询
    这期内容当中小编将会给大家带来有关如何调优SQL Server查询,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在今天的文章里,我想给你展示下,当你想对特定查询创建索引设...
    99+
    2024-04-02
  • SQL中怎么实现多表连接查询
    本篇文章为大家展示了SQL中怎么实现多表连接查询,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.理论只要两个表的公共字段有匹配值,就将这两个表中的记录组合起来。个...
    99+
    2024-04-02
  • SQL Server中怎么实现数据库链接查询
    本篇文章给大家分享的是有关SQL Server中怎么实现数据库链接查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。SQL Server数据库...
    99+
    2024-04-02
  • 如何在SQL Server数据库中实现子查询
    本篇文章给大家分享的是有关如何在SQL Server数据库中实现子查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1 子查询子查询是一个嵌套在select、insert、up...
    99+
    2023-06-14
  • 如何实现SQL查询连续号码段
    这篇文章主要介绍“如何实现SQL查询连续号码段”,在日常操作中,相信很多人在如何实现SQL查询连续号码段问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现SQL查询连续号...
    99+
    2024-04-02
  • mysql如何实现多表连接查询
    这篇文章给大家分享的是有关mysql如何实现多表连接查询的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实际的项目,存在多张表的关联关系。不可能在一张表里面就能检索出所有数据。如果...
    99+
    2024-04-02
  • SQL Server中怎么实现子查询
    这篇文章将为大家详细讲解有关SQL Server中怎么实现子查询,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、子查询概念介绍子查询可以嵌套在SELEC&...
    99+
    2024-04-02
  • 【MySQL系列】MySQL复合查询的学习 _ 多表查询 | 自连接 | 子查询 | 合并查询
    「前言」文章内容大致是对MySQL复合查询的学习。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、基本查询回顾二、多表查询三、自连接四、子查询4.1 单行子查询4.2 多行子查询4....
    99+
    2023-08-30
    mysql 学习 android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作