【MySQL】学习多表查询和笛卡尔积

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

🌈个人主页: Aileen_0v0
🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法
💫个人格言:“没有罗马,那就自己创造罗马~”

at one time '曾经,一度,同时'

文章目录

  • `多表查询`
  • `多表查询分类`
    • `连接查询`
      • <font face="小四" color="black" size=5>内连接:
      • <font face="小四" color="black" size=5>外连接:
      • <font face="小四" color="black" size=5>自连接:
    • `字查询`
  • `总结`

多表查询

指的是从多张表中查询数据

  • 首先准备好需要查询的数据表 - dept表 和 emp表
-- 准备数据
create table dept(id int auto_increment comment 'ID' primary key ,name varchar(50) not null comment '部门名称'
)comment '部门表';
insert into  dept(id, name) VALUES (1,'研发部'),(2,'市场部'),(3,'财务部'),(4,'销售部'),(5,'总经办'),(6,'人事部');create table emp(id int auto_increment comment 'ID' primary key ,name varchar(50) not null comment '姓名',age int comment '年龄',job varchar(20) comment '职位',salary int comment '薪资',entrydate date comment '入职时间',managerid int comment '直属领导ID',dept_id int comment '部门ID'
)comment '员工表';insert into emp (id, name, age, job, salary, entrydate, managerid, dept_id) VALUES(1,'金庸',66,'总裁',2000,'2000-01-01',null,5),(2,'张无忌',20,'项目经理',12500,'2005-12-05',1,1),(3,'杨逍',33,'开发',8400,'2000-11-03',2,1),(4,'韦一笑',48,'开发',11000,'2002-02-05',2,1),(5,'常遇春',43,'开发',10500,'2004-09-07',3,1),(6,'小昭',19,'程序员鼓励师',6600,'2004-10-12',2,1),(7,'灭绝',60,'财务总监',8500,'2002-09-12',1,3),(8,'周芷若',19,'会计',48000,'2006-06-02',7,3),(9,'丁敏君',23,'出纳',5250,'2009-05-13',7,3),(10,'赵敏',20,'市场部总监',12500,'2004-10-12',1,2),(11,'鹿杖客',56,'职员',3750,'2006-10-03',10,2),(12,'鹤笔翁',19,'职员',3750,'2007-05-09',10,2),(13,'方东白',19,'职员',5500,'2009-02-12',10,2),(14,'张三丰',88,'销售总监',14000,'2004-10-12',14,4),(15,'俞莲舟',38,'销售',4600,'2004-10-12',14,4),(16,'宋远桥',40,'销售',4600,'2004-10-12',14,4),(17,'陈友谅',42,null,2000,'2011-10-12',1,null);-- 添加外键将两张表进行关联
alter table emp add constraint fk_emp_dept_id foreign key (dept_id) references dept(id);

在这里插入图片描述
在这里插入图片描述

-- 多表查询 - 笛卡尔积
select * from emp , dept ;

在这里插入图片描述

  • 笛卡尔积:笛卡尔乘积是指在数学中,两个集合 A 集合和 B集合的所有组合情况。(在多表查询时,需要消除无效的笛卡尔积)—>17*6 = 102 所以我们可以看到102条记录
    在这里插入图片描述
如何消除无效的笛卡尔积?
我们可以通过emp表中的外键和dept的id建立连接,我们只需要在原来基础上加上条件即可
-- 多表查询 - 通过where添加条件,消除无效的笛卡尔积
select * from emp , dept where emp.dept_id = dept.id ;

在这里插入图片描述

通过控制台运行结果我们可以发现我们明明有17个员工而查询到的结果只有16条,这是为什么呢? 这是因为我们的陈友谅这个员工是刚来的员工还没有给他分配部门。👇

在这里插入图片描述

多表查询分类

连接查询

内连接:

相当于查询A、B交集部分数据

外连接:

左外连接:查询 左表 所有数据,以及两张表交集部分数据
右外连接:查询 右表 所有数据,以及两张表交集部分数据

自连接:

当前表与自身的连接查询,自连接必须使用表别名。

字查询

在这里插入图片描述

总结

在这里插入图片描述
](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

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

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

相关文章

Linux命令-netstat

用于端口和服务之间的故障排除 格式&#xff1a;netstat [常用参数] | grep 端口号/进程名称 -n&#xff1a;显示接口和端口的编号 -t&#xff1a;显示TCP套接字 -u&#xff1a;显示UDP套接字 -l&#xff1a;显示监听中的套接字 -p&#xff1a;显示端口对应的进程信息 -a&a…

一些常见的激活函数介绍

文章目录 激活函数1. sigmoid2. relu3. leakyReLu4. nn.PReLU5. nn.ReLU66. Softplus函数7. softmin, softmax, log softmax8. ELU 激活函数 1. sigmoid https://zhuanlan.zhihu.com/p/172254089 sogmoid函数的梯度范围在 0-0.25&#xff0c; 容易梯度消失 2. relu ReLU激…

Android稳定性相关知识

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、相关方法论3.1 crash3.2 性能3.3 高…

Python:异常处理

异常处理已经成为判断一门编程语言是否成熟的标准&#xff0c;除传统的像C语言没有提供异常机制之外&#xff0c;目前主流的编程语言如Python、Java、Kotlin等都提供了成熟的异常机制。异常机制可以使程序中的异常处理代码和正常业务代码分离&#xff0c;保证代码更加优雅&…

2024年重磅消息:来自OpenAI发布的视频生成模型Sora

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

自然语言编程系列(一):自然语言和程序语言介绍

1.自然语言和程序语言 自然语言和程序语言是两种截然不同但又相互关联的语言体系&#xff0c;它们分别服务于人类日常交流和计算机指令执行。 自然语言&#xff1a; 定义&#xff1a;自然语言是指人类在日常生活中使用的语言&#xff0c;如英语、汉语、法语等。它是非正式且灵…

Java的跨平台特性

Java语言特别流行的其中一个原因就是其具有良好的跨平台性&#xff0c;Java的跨平台性表现在通过 Java 语言编写的应用程序在不同的系统平台上都能够正常运行。其原理是&#xff1a;只要在需要运行 java 应用程序的操作系统上&#xff0c;先安装一个 Java 虚拟机(JVM Java Virt…

html表格标签(下):lable标签,select标签和textara标签

html表格标签(下)&#xff1a;lable标签&#xff0c;select标签和textarea标签 lable标签 搭配 input 使用,点击 label 标签就能选中对应的单选/复选框, 能够提升用户体验。 for 属性: 指定当前 label 和哪个相同 id 的 input 标签对应 (此时点击才是有用的) 运行效果&#x…

信息安全认证 | CISP证书怎么样?值得考吗?

HCIE考证研究所的朋友们&#xff0c;新年快乐&#xff01; 今天给大家说说CISP证书&#xff0c;新的一年祝大家逢考必过啊~ 01 考注册信息安全工程师证书的用处 CISP证书可作为学识和技能证明&#xff1b;求职、任职、晋升、加薪的资格凭证&#xff1b;用人单位招聘、录用劳动…

FPGA之移位寄存器

SLICEM中的LUT可以配置为32位移位寄存器,而无需使用slice中可用的触发器。以这种方式使用,每个LUT 可以将串 行数据延迟 1 到 32 个时钟周期。移入D &#xff08;DI1 LUT 引脚&#xff09;和移出 Q31&#xff08;MC31 LUT 引脚&#xff09;线路将LUT级联&#xff0c;以形成更大…

羊大师揭秘,如何挑选出好牧场的奶羊,该怎么看

羊大师揭秘&#xff0c;如何挑选出好牧场的奶羊&#xff0c;该怎么看 了解牧场的管理和环境&#xff1a;好的牧场应该有规范的管理制度&#xff0c;环境整洁&#xff0c;草场茂盛&#xff0c;为奶羊提供了充足的食物和良好的生活环境。在这样的牧场中&#xff0c;奶羊能够得到…

芯片的分类

目录 通用处理器数字信号处理器专用处理器 通用处理器 我们常听说的中央处理器CPU就是一种典型的通用处理器&#xff08;GPP&#xff09;。这种处理器多使用片上系统&#xff08;SoC&#xff09;的设计理念&#xff0c;在处理器上集成各种功能模块&#xff0c;每一种功能都是用…

⭐北邮复试刷题103. 二叉树的锯齿形层序遍历 (力扣每日一题)

103. 二叉树的锯齿形层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 锯齿形层序遍历 。&#xff08;即先从左往右&#xff0c;再从右往左进行下一层遍历&#xff0c;以此类推&#xff0c;层与层之间交替进行&#xff09;。 示例 1&#xff1a;输入&#xff1a…

视频如何去除水印?这三个方法赶紧收藏

在数字化内容的海洋中&#xff0c;视频已成为我们日常生活中不可或缺的一部分。然而&#xff0c;很多时候&#xff0c;我们渴望观看的优质视频内容却被水印所困扰。因此我们就需要视频去水印工具来帮助我们解决这些困扰。 一、水印云 水印云的视频去水印功能采用了先进的 AI …

【JavaEE】IP协议

作者主页&#xff1a;paper jie_博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文于《JavaEE》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精力)打造&…

MySQL之select查询

华子目录 SQL简介SQL语句分类SQL语句的书写规范SQL注释单行注释多行注释 select语句简单的select语句select的算数运算select 要查询的信息 from 表名;查询表字段查询常量查询表达式查询函数 查询定义别名as安全等于<>去重distinct连接字段concat 模糊查询运算符比较运算…

(免费领源码)python#flask# MySQL人口分布系统74626-计算机毕业设计项目选题推荐

摘要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对人口分布系统等问题&#xff0c;对人口分布系…

浅析Linux追踪技术之ftrace:Event Tracing

文章目录 概述使用Event Tracing使用set_event接口使用enable接口 Event配置Event formatEvent Filtering过滤规则设置过滤器 Event TriggerTrigger语法 Trace marker相关参考 概述 Event Tracing&#xff08;事件追踪&#xff09;利用在内核代码中加入的各种Tracepoint&#…

2.18 day5 C++

以下是一个简单的比喻&#xff0c;将多态概念与生活中的实际情况相联系:比喻:动物园的讲解员和动物表演 想象一下你去了一家动物园&#xff0c;看到了许多不同种类的动物&#xff0c;如狮子、大象、猴子等。现在&#xff0c;动物园里有一位讲解员&#xff0c;他会为每种动物表演…

RabbitMQ之 Fanout 交换机

&#x1f47d;System.out.println(“&#x1f44b;&#x1f3fc;嗨&#xff0c;大家好&#xff0c;我是代码不会敲的小符&#xff0c;双非大四&#xff0c;Java实习中…”); &#x1f4da;System.out.println(“&#x1f388;如果文章中有错误的地方&#xff0c;恳请大家指正&a…