SQL Server 数据库,多表查询

4.2使用T-SQL实现多表查询

    前面讲述过的所有查询都是基于单个数据库表的查询,如果一个查询需要对多个表进行操作, 就称为联接查询,联接查询的结果集或结果称为表之间的联接。

     联接查询实际上是通过各个表之间共同列的关联性来查询数据的,它是关系数据库查询最主要 的特征。

4.2.1表联接类型

表联接类型可以分为内联接、外联接和交叉联接等。

1.内联接

     内联接(inner join)是最常用的一种联接方式,只返回两个数据集合之间匹配关系的行,将位 于两个互相交叉的数据集合中重叠部分以内的数据行联接起来。 内联接使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与联接相匹配的数据行

2.外联接

    外联接(outer join)是对内联接的扩充,除了将两个数据集合中重复部分以内的数据行联接起 来之外,还可以根据要求返回左侧或右侧表中非匹配的数据或全部的数据

外联接分为以下几种。

1)左外联接

左外联接(left join 或 left outer join)的结果集包括左表的所有行,如果左表的某一行在右表中没有匹配行,则右表返回空值,否则返回相应值。

2)右外联接

右外联接(right join 或right outer join)是左外联接的反向联接,将返回右表的所有行,如果右 表的某一行在左表中没有匹配行,则左表返回空值,否则返回相应值。

3)全联接/完整外联接

全联接/完整外联接(full join 或full outer join)将返回左表和右表中的所有行,当某一行在另 一个表中没有匹配行时,另一个表返回空值,否则返回相应值。

3.交叉联接

    交叉联接就是表之间没有任何关联条件,查询将返回左表与右表挨个联接的所有行,就是左表 中的每行与右表中的所有行再一一组合,相当于两个表“相乘”。

    因为交叉联接应用场合较少,所以本课程不过多进行介绍,也不要求熟练掌握,如果感兴趣可 以查阅相关资料。

实验案例二:多表查询

实验环境

某公司有一台已经安装了SQLServer 2016的服务器,class数据库中包含products表和sales表. 表中内容分别如图1和图2所示。

                                                                     图1 

                                                                     图2

需求描述

> 在products表和sales表中查询产品的名称,种类、成本,销售地点和销售价格。

> 在products表和sales表中查询销往海南的产品名称、种类、成本和销售价格。

> 在products表和sales表中查询销往北京的蔬菜名称、种类,成本和销售价格。

实验步骤

在products 表和 sales表中查询产品的名称、种类、成本,销售地点和销售价格。

  select products.名称 名称products,products.种类 种类products,products.成本 成本products,sales.名称 名称sales,sales.销售地点 销售地点sales,sales.销售价格 销售价格salesfrom products inner join sales on products.名称=sales.名称

查询结果

在products表和sales表中查询销往海南的产品名称、种类、成本和销售价格。

select products.名称 名称products,products.种类 种类products,products.成本 成本products,sales.名称 名称sales,sales.销售地点 销售地点sales,sales.销售价格 销售价格sales
from products inner join sales on products.名称=sales.名称
where 销售地点='海南'

查询结果

 在products表和sales表中查询销往北京的蔬菜名称、种类,成本和销售价格。

select products.名称 名称products,products.种类 种类products,products.成本 成本products,sales.名称 名称sales,sales.销售地点 销售地点sales,sales.销售价格 销售价格sales
from products inner join sales on products.名称=sales.名称
where 销售地点='北京' and 种类='蔬菜'

查询结果

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

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

相关文章

微信小程序 bindtap 事件多参数传递

在微信小程序中,我们无法直接通过 bindtap"handleClick(1,2,3)" 的方式传递参数,而是需要通过自定义属性 data- 的方式进行传递,并在事件回调函数中通过 event.currentTarget.dataset 来获取这些参数。然而,这种传参方式…

速查!软考出成绩了

2023年11月软考成绩出来啦!大家赶紧查一下,各科都45分就是通过! 01 如何查成绩 1、打开“中国计算机技术职业资格网”,网址:https://www.ruankao.org.cn/ 2、点击↘的“成绩查询”按钮。 3、输入“手机号/证件号密码验…

船舶机电设备智能故障诊断系统

1 船舶电气设备故障诊断专家系统 体系结构 整个系统的体系结构采用浏览器/ 服务器 (B/ S) 三层体系结构 ( 如图 1 所示 )。B/S 模式是一种 以 Web 技术为基础的系统平台模式 。 把传统…

【GEE】时间序列多源遥感数据随机森林回归预测|反演|验证|散点图|完整代码

实验介绍 分类和回归之间的主要区别在于,在分类中,我们的预测目标是离散的类别,而在回归中,预测目标是连续的预测值。 本实验的研究区域位于佛蒙特州的埃塞克斯郡,使用训练数据来模拟土壤氧化还原深度,然…

有哪些值得分享的销售拓客技巧?

拓客对于销售的重要性 拓客(Toker)是一个商业上的名词,核心就是提高售前服务、市场推广的水平,从而挖掘出潜在客户的隐形需求(或称软需求)。 拓客的核心,其实就是提高售前服务、市场推广的水平…

如何部署自己的服务渲染页面为Pdf文档

前言 相信大家都觉得官方发布的文档生成模块https://docs.mendix.com/appstore/modules/document-generation/很有用,它能把Mendix页面像素级导出到Pdf文件中,这对于归档等业务非常有价值。但部署依赖公有云提供的渲染服务,而中国本土用户对…

初识人工智能,一文读懂过拟合欠拟合和模型压缩的知识文集(3)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

Backend - Dbeaver

目录 一、说明 二、下载并安装 (一)官网下载 (二)安装 三、使用 (一)操作步骤 (二)相关问题:无法加载驱动类oracle.jdbc.oracledriver 1. 新建驱动 2. 再重新连接数据库 …

PyTorch2.0环境搭建

一、安装python并配置环境变量 1、打开python官网,下载并安装 Welcome to Python.org 下载 寻找版本:推荐使用3.9版本,或其他表中显示为安全(security)的版本 安装:(略) 2、配置环…

数据增强改进,实现检测目标copypaste,增加目标数据量,提升精度

🗝️YOLOv8实战宝典--星级指南:从入门到精通,您不可错过的技巧   -- 聚焦于YOLO的 最新版本, 对颈部网络改进、添加局部注意力、增加检测头部,实测涨点 💡 深入浅出YOLOv8:我的专业笔记与技术总结   -- YOLOv8轻松上手, 适用技术小白,文章代码齐全,仅需 …

python圣诞树代码编程

以下是一个简单的Python圣诞树代码: def draw_tree(height): for i in range(height): print( * (height - i - 1) * * (2 * i 1)) print( * (height - 1) |)draw_tree(10) 这个函数会绘制一个等腰三角形,其中每一行的星号数量从1开…

【TiDB理论知识09】TiFlash

一 TiFlash架构 二 TiFlash 核心特性 TiFlash 主要有 异步复制、一致性、智能选择、计算加速 等几个核心特性。 1 异步复制 TiFlash 中的副本以特殊角色 (Raft Learner) 进行异步的数据复制,这表示当 TiFlash 节点宕机或者网络高延迟等状况发生时,Ti…

亿胜盈科ATR2037 无限射频前端低噪声放大器

亿胜盈科ATR2037 是一款应用于无线通信射频前端,工作频段为 0.7 到 6GHz 的超低噪声放大器。 ATR2037 低噪声放大器采用先进的 GaAs pHEMT 工艺设计和制作,ATR2037 低噪声放大器在整个工作频段内可以获得非常好的射频性能超低噪声系数。 亿胜盈科ATR203…

WGCLOUD v3.5.0 新增支持监测交换机的接口状态UP DOWN

WGCLOUD v3.5.0开始 可以监测交换机或SNMP设备的接口状态了,直接上图

如何给网页和代码做HTML加密?

​ 本篇文章给大家谈谈html混淆加密在线,以及HTML在线加密对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 如何给代码加密? 1、源代码加密软件推荐使用德人合科技的加密软件,是一套从源头上保障数据安全和使用安全的软…

vue2+datav可视化数据大屏(1)

开始 📓 最近打算出一个前端可视化数据大屏的系列专栏,这次将很全面的教大家设计可视化大屏,从开始到打包结束,其中,包括如何设计框架,如何封装axios,等等,本次使用的数据均为mock数…

spring boot项目如何自定义参数校验规则

spring boot项目对参数进行校验时,比如非空校验,可以直接用validation包里面自带的注解。但是对于一些复杂的参数校验,自带的校验规则无法满足要求,此时需要我们自定义参数校验规则。自定义校验规则和自带的规则实现方式一样&…

时域频域(学习记录1)

1 小伙伴们,今天让我们一起来聊聊Something about DATA 系列。我们先回顾一下本系列对NVH测试中的数据采集做的整体介绍: A 数据采集过程; B 硬件设备; C 数采软件; D ATOM中的数据采集; 接下来的几篇文章…

cmake生成表达式

不积小流&#xff0c;无以成江海 <CONFIG:RELEASE> config这个关键字&#xff0c;主要是看CMAKE_BUILD_TYPE这个变量的值是不是和冒号后的一样&#xff0c;一样的话就返回true, 否则就是false. cmake_minimum_required(VERSION 3.10) project(Test) set(CMAKE_CXX_STA…

数据结构--二叉树

目录 1.二叉树链式结构的实现 1.1 前置说明 1.2 二叉树的遍历 1.2.1 前序、中序以及后序遍历 1.2.2 层序遍历及判断是否为完全二叉树 1.3 节点个数&#xff0c;叶子节点个数&#xff0c;第k层节点个数以及高度等 1.4 二叉树的创建和销毁 1.二叉树链式结构的实现 1.1 前置说…