建站平台控制自适应网页模板企业

news/2025/9/23 14:07:23/文章来源:
建站平台控制,自适应网页模板企业,山东泰安区号,建网站选号域名概述 外连接的进阶用法在行列转换中比较有优势#xff0c;往往存在需要把数据库中的格式转换成报表格式#xff0c;但是SQL仅仅只是查询数据的语言#xff0c;格式转换并不是原本的用途。 全外连接 标准 SQL 里定义了外连接的三种类型#xff0c;如下所示。 左外连接往往存在需要把数据库中的格式转换成报表格式但是SQL仅仅只是查询数据的语言格式转换并不是原本的用途。 全外连接 标准 SQL 里定义了外连接的三种类型如下所示。 左外连接LEFT OUTER JOIN右外连接RIGHT OUTER JOIN全外连接FULL OUTER JOIN 其中左外连接和右外连接没有功能上的区别。用作主表的表写在运算符左边时用左外连接写在运算符右边时用右外连接。相信这两种大家已经很熟悉了。在这三种里全外连接相对来说使用较少。 在这两张班级学生表里田中和铃木同时属于两张表而伊集院和西园寺只属于其中一张表。全外连接是能够从这样两张内容不一致的表里没有遗漏地获取全部信息的方法所以也可以理解成“把两张表都当作主表来使用”的连接。 -- 全外连接保留全部信息 select coalesce(a.id,b.id) as id,a.name as a_name,b.name as b_name from class_a15 a full outer join class_b15 bon a.id b.id;-- 数据库不支持全连接 -- 使用左连接与右连接的并集SELECT A.id AS id,A.name AS A_name,B.name AS B_nameFROM Class_A15 A left JOIN Class_B15 BON A.id B.id unionSELECT B.id AS id,A.name AS A_name,B.name AS B_nameFROM Class_A15 A right JOIN Class_B15 BON A.id B.id; 用外连接进行集合运算 用外连接求差集 A B -- 用外连接求差集 A - Bselect a.id as id, a.name as a_namefrom class_a15 a left join class_b15 bon a.id b.idwhere b.name is null; 用外连接求差集 B A -- 用外连接求差集 B - Aselect b.id as id,b.name as b_namefrom class_a15 a right join class_b15 bon a.id b.id where a.name is null;用全外连接求异或集  select a.id as id ,a.name as name from class_a15 a left join class_b15 b on a.id b.id where a.name is null or b.name is null union select b.id as id ,b.name as name from class_a15 a right join class_b15 b on a.id b.id where a.name is null or b.name is null 用外连接进行行列转换 (1)行→列制作交叉表 这里有一张用于管理员工学习过的培训课程的表如下所示。 利用上面这张表生成下面这样一张交叉表“课程学习记录一览表”。○表示已学习过NULL 表示尚未学习。 -- 使用外连接 select c0.name,case when c1.name is not null then O else null end as SQL入门,case when c2.name is not null then O else null end as UNIX基础,case when c3.name is not null then O else null end as Java中级 from (select distinct name from courses) c0 -- 这里的c0是侧栏 left outer join (select name from courses where course SQL入门) c1 on c0.name c1.name left outer join (select name from courses where course UNIX基础) c2 on c0.name c2.name left outer join (select name from courses where course Java中级) c3 on c0.name c3.name; 使用子查询根据源表 Courses 生成 C0 C3 这 4 个子集。C0 包含了全部员工起到了“员工主表”的作用。C1 C3 是每个课程的学习者的集合。这里以 C0 为主表依次对 C1 C3 进行外连接操作。如果某位员工学习过某个课程则相应的课程列会出现他的姓名否则为 NULL。最后通过 CASE 表达式将课程列中员工的姓名转换为○就算完成了。 但是因为大量用到了内嵌视图和连接操作代码会显得很臃肿。而且随着表头列数的增加性能也会恶化。 -- 水平展开2使用标量子查询 select c0.name,(select O from courses c1 where course SQL入门 and c1.name c0.name) as SQL入门,(select O from courses c2 where course UNIX基础 and c2.name c0.name) as UNIX基础,(select O from courses c3 where course Java中级 and c3.name c0.name) as Java中级 from (select distinct name from courses) c0; -- 这里的c0是表侧栏-- 水平展开 3嵌套使用case表达式 select name,case when sum(case when course SQL入门 then 1 else null end) 1then O else null end as SQL入门,case when sum(case when course UNIX基础 then 1 else null end) 1then O else null end as UNIX基础,case when sum(case when course Java中级 then 1 else null end) 1then O else null end as Java中级 from courses group by name; 用外连接进行行列转换 (2)列→行汇总重复项于一列 假设存在下面这样一张表。 select employee,child_1 as child from personnel union all select employee,child_2 as child from personnel union all select employee,child_3 as child from personnel; 因为 UNION ALL 不会排除掉重复的行所以即使吉田没有孩子结果里也会出现 3 行相关数据。所以对结果再次优化。先创建一个视图保存所有的子女列表。然后用员工表作为主表与该视图进行外连接当员工表中的孩子1-3存在于视图中返回该名字否则返回null。 -- 生成一个存储子女列表的视图 create view children(child) as select child_1 from personnelunionselect child_2 from personnelunionselect child_3 from personnel; -- 获取员工子女列表的SQL语句没有孩子的员工也要输出 select emp.employee,children.child from personnel emp left outer join children on children.child in (emp.child_1,emp.child_2,emp.child_3); 在交叉表里制作嵌套式表侧栏 在生成统计表的工作中经常会有制作嵌套式表头和表侧栏的需求。例如这道例题表 TblPop 是一张按照县、年龄层级和性别统计的人口分布表要求根据表 TblPop 生成交叉表“包含嵌套式表侧栏的统计表”。 使用交叉连接对tblage和tblsex生成笛卡尔积作为主表和tblpop进行外连接按照年龄区间和性别分组统计人数和。 -- 使用外连接生成嵌套式表侧栏 select master.age_range as age_class,master.sex as sex_acd,data.pop_tohoku as pop_tohoku,data.pop_kanto as pop_kanto from (select age_class,age_range,sex_cd,sexfrom tblage cross join tblsex) master -- 使用交叉连接生成两张主表的笛卡尔积 left outer join (select age_class,sex_cd,sum(case when pref_name in (青森,秋田) then population else null end) as pop_tohoku,sum(case when pref_name in (东京,千叶) then population else null end) as pop_kantofrom tblpopgroup by age_class,sex_cd) dataon master.age_class data.age_class and master.sex_cd data.sex_cd; 总结 SQL 不是用来生成报表的语言所以不建议用它来进行格式转换。必要时考虑用外连接或 CASE 表达式来解决问题。生成嵌套式表侧栏时如果先生成主表的笛卡儿积再进行连接很容易就可以完成。从行数来看表连接可以看成乘法。因此当表之间是一对多的关系时连接后行数不会增加。外连接的思想和集合运算很像使用外连接可以实现各种集合运算。

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

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

相关文章

公司网站开发有哪些今天西安新消息

随着科技的不断发展,虚拟现实(VR)技术已经逐渐渗透到各个领域,为人们的生活带来了极大的便利。在煤矿行业,VR技术的应用也日益受到重视,尤其是在煤矿安全检查方面。为了提高矿工的安全意识和技能&#xff0…

福州网站改版哪家好wordpress做英文站

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

全球做空现货黄金的网站网页制作专业个人职业生涯规划书

大家好,我是雄雄,欢迎关注公众号【雄雄的小课堂】。最近,我的个人站上线啦,大家可以直接在浏览器的地址栏中输入:穆雄雄.com,轻轻敲击回车,即可直接进入……欢迎大家多多关注,多多留…

js网站模板最新网页游戏传奇类

介绍依赖注入只负责由其创建的对象实例容器或者子容器释放的时候,会释放由其创建的对象实例。推荐使用容器来来管理我们的对象的创建和释放。操作为了演示,我们创建一个UserService,并让该Service继承IDisposablepublic class UserService : …

安徽做网站电话重庆互联网公司多吗

1.背景近期由于业务调整,需要将Windows Server 2008 MySQL5.5数据库迁移到Windows Server 2012 MySQL8.0集群MGR中,由于实际部署时,有一台机器硬盘损坏,只能构建双节点MGR,在迁移以及应用迁移过程中遇到许多参数与迁移…

【SPIE出版】第四届环境遥感与地理信息技术国际学术会议(ERSGIT 2025)

第四届环境遥感与地理信息技术国际学术会议(ERSGIT 2025)定于2025年10月17-19日在中国南京隆重举行。【高录用丨往届快至会后3个月EI检索丨往届均已EI检索】 第四届环境遥感与地理信息技术国际学术会议(ERSGIT 2025…

工厂打星问题

using namespace std ; const int NumberOfPlants = 4; void inputData(int a[],int lastPlantNUmber); void scale(int a[],int size); void graph(const int asteriskCount[],int lastPlantNumber); void getTotal(i…

公司网站开发详细流程网站上的二维码

目录 一、环境信息 二、简述 三、升级点 四、支持功能 五、安装包下载地址 六、配置参数介绍 七、安装步骤 1、配置环境变量 2、生效环境变量 3、检验动态链接是否正常 4、修改配置文件MigrationConfig.txt 八、运行效果 一、环境信息 名称值CPUIntel(R) Core(TM) i…

网页设计图兰州网站关键字优化

Vim是一款功能强大的文本编辑器,广泛用于程序员和开发人员中。虽然Vim主要用于文本编辑,但它也提供了一些方便的功能来编译和运行代码。本文将详细介绍如何在Vim中编译和运行代码,包括设置编译快捷键、使用插件以及集成构建系统。 1. 引言 …

四川红叶建设有限公司网站大连省建设厅网站

课程名称: E054-web安全应用-Brute force暴力破解进阶 课程分类: web安全应用 实验等级: 中级 任务场景: 【任务场景】 小王接到磐石公司的邀请,对该公司旗下的网站进行安全检测,经过一番检查发现该网站可能存在弱口令漏洞…

找素材的网站鸭梨网站建设

现象: 通过抓包看到在部分客户端上跨域的非简单请求只发送一个预检的OPTIONS请求,之后的真实请求并没有发送。 出现问题的环境: 部分IOS低版本系统。 windows系统微信内必现(2020-04-29)。 分析 通过上面条件OPT…

东莞主页网站制作黄页号码怎么取消标记

举例: 结果: 文字描述: 先将浮点数转化为二进制的表示形式, 接着将其二进制的形式按照科学计数法来表示, 符号位的确定:正数0, 负数1 指数的确定:将其二进制表示成为科学计数法…

沈阳平台网站建设p2p网站建设 上海

1、问题 目前只有一个google手机之前安装了app,里面有room写的数据库,后面把app卸载了,再次安装新的app(修改了数据库里面的字段),启动奔溃。 2、分析 提示数据库错误,很明显就像以前的app里面的数据库没有删除一样,…

网上开店的基本流程有哪些河池网站seo

目录 前言 驱动入门知识 1.APP 打开的文件在内核中如何表示 2.打开字符设备节点时,内核中也有对应的 struct file 编写 Hello 驱动程序步骤 1.流程介绍 2.驱动代码: 3.应用层代码: 4.本驱动程序的 Makefile 内容: 5.上机…

主机开通成功网站建设中怎么把网站上传到域名

前言 数据结构_空间复杂度_时间复杂度讲解_常见复杂度对比 本文介绍数据结构中的时间复杂度和空间复杂度 ***文章末尾,博主进行了概要总结,可以直接看总结部分*** 博主博客链接:https://blog.csdn.net/m0_74014525 点点关注,后期…

PyTorch和cude版本不兼容导致无法检测到GPU

具体问题如下: 环境:windows 11 + conda pytorch 已经安装,但 cude 不可用,可用gpu数量为0 使用whisper时提示错误信息: ... ... AssertionError: Torch not compiled with CUDA enabled原因: gpu驱动程序支持py…

MySQL练习题 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

做网站是数据库应该放在哪里域名怎么制作网站

— ◆ 小 乔 锦 囊 ◆ —近期,小乔收到玩家宝宝们的提问:在客服专区中进行角色或仓库密码的清除时,会收到登录验证失败的提示,应该怎么办?辛苦玩家宝宝们的热心反馈!该问题目前已在紧急修复中。同时&#x…

网站优化案例分析淮北网络推广

什么是人工智能客户体验? 人工智能客户体验是指使用人工智能技术(如机器学习、聊天机器人和对话式用户体验)使每个接触点尽可能高效且无障碍的实践。本质上,客服代表得到了一个虚拟助手帮助他们完成重复性任务。这意味着对于有简…

网站备案地址高层网络架构

现在市场上代记账公司也不算少,做过这行的都知道,最初呢行业竞争不强,都是靠地推、老客户转介绍,或者长期以往的蹲守各个地区的工商注册服务中心,找那些才注册企业的老板或者创业者。但是,随着市场经济的发…