实验案例二:多表查询

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.交叉联接。

        交叉联接就是表之间没有任何关联条件,查询将返回左表与右表挨个联接的所有行,就是左表中的每行与右表中的所有行再―—组合,相当于两个表“相乘”。
        因为交叉联接应用场合较少.所以本课程不过多进行介绍.也不要求熟练掌握,如果感兴趣可以查阅相关资料。

2、实验环境。

        某公司有一台已经安装了SQL Server 2016的服务器,class数据库中包含products表和sales表,表中内容如下图:

3 、需求描述。

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

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

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

4、实验步骤。

根据以下命令创建新表sales,并且插入相应的数据。

1、使用以下命令使用左联接的方式将两个的不同列联接到了一起。

命令参考:

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

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

 命令参考:

select products.名称 名称,products.种类 种类,products.成本 成本,

sales.销售价格 销售价格
from products left join sales on products.名称=sales.名称
where 销售地点='海南'

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

命令参考:

select products.名称 名称,products.种类 种类,products.成本 成本,

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

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

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

相关文章

ROS第一个程序——helloworld

目录 一、工作空间的创建 1.创建工作空间并初始化 2.进入 src 创建 ros 包并添加依赖 二、C实现helloworld C源码实现 编辑 ros 包下的 Cmakelist.txt文件 进入工作空间目录并编译 执行 三、python实现helloworld 进入 ros 包添加 scripts 目录并编辑 python 文件 …

推荐6个AI相关开源项目

1.GPT 学术优化 - 一个专注优化论文的 AI 工具 🌐开源地址:https://github.com/binary-husky/gpt_academic 🖥️体验地址:https://huggingface.co/spaces/qingxu98/gpt-academic 📄该工具可以为你的论文提供一键润色…

flink安装与配置-脚本一键安装(超简单)

文章目录 前言使用shell脚本一键安装1. 复制脚本2. 增加执行权限3. 执行脚本4. 加载用户环境变量5. 浏览器访问 总结 前言 本文介绍了使用shell脚本一键安装和配置Apache Flink单机版的方法。通过复制并执行提供的安装脚本,可以自动下载、安装和配置Flink。脚本会检…

ZYNQ_project:HDMI

实验目标:先显示彩条,通过uart串口传输100x100 大小图片像素信息,然后开始弹跳显示该图片在显示器上。 HDMI 是新一代的多媒体接口标准, 英文全称是 High-Definition Multimedia Interface, 即高清多媒体接口。 它能够…

录视频人不在电脑旁,怎么设置定时关机

如果你平常工作比较忙,或者要录制的视频/音频文件需要很长时间,最好选择预约录制,这样可使录屏软件自动开始和停止录制,并且定时关机。此外,你还可以设置保存录制文件、关闭录屏软件。是不是听起来很感兴趣&#xff1f…

进程程序替换和shell实现

先前fork说创建子进程执行代码,如何让子进程执行和父进程完全不一样的代码?程序替换。 一 单进程替换演示 1 execl函数使用 最近转到在vs code下写代码,之前也在xhell下用过execl函数,所以才想写篇博客总结总结,没想到在vs code…

Docker Compose简单入门

Docker Compose 简介 Docker Compose 是一个编排多容器发布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建,启动和停止。 Docker Compose 真正的作用是在一个文件(docker-compose.yml)中定义并运…

Arthas安装及简单使用

一. 背景介绍 Arthas 是 Alibaba 在 2018 年 9 月开源的 Java 诊断工具。支持 JDK6, 采用命令行交互模式,提供 Tab 自动补全,可以方便的定位和诊断线上程序运行问题。得益于 Arthas 强大且丰富的功能,让 Arthas 能做很多的事情&a…

超声波眼镜清洗机是智商税吗?2023年超声波清洗机比较不错推荐

随着科技的日新月异,我们生活中充满了各种各样的智能设备。其中,超声波清洗机以其独特的清洗能力,逐渐走进我们的生活。然而,对于很多人来说,超声波清洗机还是一个相对陌生的概念。那么,超声波清洗机到底是…

P9 链表 清空链表|销毁链表

目录 前言 01销毁链表 02 清空链表 测试代码 前言 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《Linux C应用编程(概念类)_ChenPi的博客-CSDN博客》✨✨✨ …

Markdown语法入门与进阶指南

一、Markdown简介 Markdown是一种轻量级标记语言,创始人为约翰格鲁伯(john Gruber)。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中…

Spring Session介绍

Spring SessionSession储存到Redis1:添加依赖2:配置信息3:Spring Session存String3:Spring Session存对象 项目改造-Redis储存Session Spring Session Spring Session储存在Redis和取的执行流程: 1:request.getSession() 方法时&…

地隔离放大器集成电路芯片D3121,低噪声低失真双通道且外接电容小,能有效消除由线 路电阻所引起的问题及噪声

D3121 是一块对地能动冲放大器集成电路,该电路能有效消除由线 路电阻所引起的问题及噪声。所需外围电容小,便于设计时小型化的同 时可靠性不降低。广泛应用于车载音响系统内。 D3121 系列采用 DIP8 、 SOP8 、 SIP8 的封装形式封装。 主要特点&#x…

Qt应用开发(Quick篇)——矩形模块 Rectangle

一、前言 矩形模块用于用纯色或渐变填充区域,或者提供一个矩形边框。 二、外观 每个矩形项都可以使用使用color属性指定的纯填充色、使用gradient类型定义并使用gradient属性设置的渐变来绘制。如果同时指定了颜色和渐变效果,则只会生效渐变效果。 通过…

Python:核心知识点整理大全2-笔记

在本章中,你将学习可在Python程序中使用的各种数据,还将学 习如何将数据存储到变量中,以及如何在程序中使用这些变量。 2.1 运行 hello_world.py 时发生的情况 运行hello_world.py时,Python都做了些什么呢?下面来深入…

NFTScan | 11.27~12.03 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期:2023.11.20~ 2023.11.26 NFT Hot News 01/ Web3 教育平台 Open Campus 获 Binance Labs 315 万美元投资 11 月 27 日,Binance Labs 已向社区主导的 Web3 教育平台 Open Campu…

Selenium自动化测试工具使用方法汇总

1、设置无头浏览器模式 from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options Options() chrome_options.add_argument(- -headless) chrome_options.add_argument(- -disable-gpu) class XX(object): self.driver webdriv…

Python selenium自动化测试模型图解

1、线性测试 优势:每一个脚本都是完整独立的,每一个脚本对应一个测试用例 缺点:开发成本高,会有重复操作重复脚本;维护成本也高,修改重复操作的脚本时,要逐一进行修改。 2、模块化驱动测试 …

三、Zookeeper数据模型

目录 1、Znode兼具文件和目录两种特点 2、Znode具有原子性操作

前端小记--3.接上篇,级联组件el-cascader回显问题

在使用el-cascader这个级联组件时,组件的值是数组形式,且选中节点时,所返回的值中是包含选中节点的所有父节点的。 比如,我们选中的是“值班点1号-东门”,但组件实际的值是[‘值班点1号’,‘值班点1号-东门’]&#x…