20 SQL——多表查询 (消除无效笛卡尔积)

news2024/11/27 17:41:48
create table dept
  (
  id int primary key auto_increment,
  name  varchar(15)
  )
 comment '部门';

insert into dept(id, name) values (1,'研发部'),
                                  (2,'市场部'),
                                  (3,'财务部'),
                                  (4,'销售部'),
                                  (5,'总经办'),
                                  (6,'人事部');


create table  staff
(
 id int			primary key  auto_increment	comment'ID',
  name    varchar(15)       comment'姓名',
  age        int            comment'年龄',
  job    varchar(15)        comment  '工作',
  salary int                comment   '薪资',
  wokeday  date              comment    '工作时间',
 mange       int            comment   '直属领导Id',
 dept_id    int             comment   '部门Id'
)comment '员工';

 insert into  staff ( id,name,age,job,salary,wokeday,mange,dept_id)values(1,'金庸',66,'总裁',3000,'2000-1-1',null,5),
														            	(2,'张无忌',34,'项目经理',3000,'2013-1-1', 1,1),
															            (3,'杨逍',13,'开发',     3000,'2021-1-1',   2,1),
															            (4,'纬一路',45,'开发',3450,'2024-1-2',      2,1),
															            (5,'常遇春',34,'开发',3020,    '2016-1-1',  3,1),
															            (6,'小赵',23,'程序员鼓励师',3560,'2015-1-1', 2,1),
															            (7,'灭绝',26,'财务总监',3780,'2013-1-1',     1,3),
														            	(8,'抽纸若',47,'会计',3230,'2023-1-1',       7,3),
															            (9,'金马',38,'出纳',3780,'2012-1-1',         7,3),
															            (10,'谢逊',56,'市场部总监',3034,'2010-1-1',   1,2),
															            (11,'大师',59,'职员',3550,'2009-1-1',       10,2),
															            (12,'白毛',50,'职员',3890,'2008-1-1',       10,2),
															            (13,'红爪',27,'职员',3220,'2007-1-1',       10,2),
															            (14,'龙珠',34,'销售总监',4000,'2001-1-1',     1,4),
                                                                        (15,'宋远桥',45,'销售总监',5000,'2002-1-1',   14,4),
                                                                        (16,'天王例',89,'销售总监',8900,'2003-1-1',   14,4),
                                                                        (17,'张三丰',53,'销售总监',6700,'2004-1-1',  1,null);


alter table  staff add constraint fk_staff_dept_id foreign key  (dept_id) references dept(id) ; -- 建立外键链接
案例1-- 多表查询
select * from staff,dept;-- staff表有17条,dept表有6条  ,6*17=102条数据
案例2-- 多表查询(消除无效的笛卡尔积)
select *from staff,dept where staff.dept_id=dept.id;-- 因为张三丰这个员工没有安排部门,所以不满足 staff.dept_id=dept.id这个条件,所以查询不出来

在这里插入图片描述
在这里插入图片描述
案例1
在这里插入图片描述

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

案例2
在这里插入图片描述

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

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

相关文章

【面试篇】Redis持久化面试题

文章目录 Redis持久化🙎‍♂️面试官:什么是Redis持久化? AOF日志AOF日志原理🙎‍♂️面试官:AOF日志是怎么工作的/AOF写入磁盘的流程?🙎‍♂️面试官: 刚刚说到了Redis先执行写入的…

Discourse Math 插件

概述Discourse Math 使用 MathJax (默认) 或者 KaTeX 来让你在你的 Discourse 中使用数学公式。 仓库链接GitHub - discourse/discourse-math: Official MathJax support for Discourse Install Guide如何在 Discourse 中安装插件 这个插件是 Discourse 官方提供的插件&#x…

javascript基础一:Javscript数组的常用方法有哪些?

在日常开发中,我们对数组可以说操作最多,这里我们来整理下数组的一下最常用的方法 数组基本操作可以归纳为 增、删、改、查,需要留意的是哪些方法会对原数组产生影响,哪些方法不会 下面对数组常用的操作方法做一个归纳 一、基本…

ChatGPT国内免费使用的方法有哪些?

目录 一、ChatGpt是什么? 二、ChatGPT国内免费使用的方法: 第一点:电脑端 第二点:手机端 三、结语: 一、ChatGpt是什么? ChatGPt是美国OpenAI [1] 研发的聊天机器人程序 。更是人工智能技术驱动的自然语…

【C++数据结构】二叉搜索树的使用和模拟实现及其应用--K模型和KV模型

文章目录 一、二叉搜索树的概念二、二叉搜索树的操作及其实现(非递归)1.二叉搜索树节点和类的定义2.二叉搜索树的构造函数3.二叉搜索树的拷贝构造4.二叉树搜索树的赋值重载5.二叉搜索树的析构函数6.二叉搜索树的中序遍历7.二叉搜索树的查找8.二叉搜索树的插入9.二叉搜索树的删除…

瑞吉外卖 - 分页查询分类功能(12)

某马瑞吉外卖单体架构项目完整开发文档,基于 Spring Boot 2.7.11 JDK 11。预计 5 月 20 日前更新完成,有需要的胖友记得一键三连,关注主页 “瑞吉外卖” 专栏获取最新文章。 相关资料:https://pan.baidu.com/s/1rO1Vytcp67mcw-PD…

【Android 面经分享】阿里技术专家的 5年 Android 开发的求职之路

作者:yechaoa 来源:https://juejin.cn/post/6996551155220217869 前言 前段时间在看机会,本文就是我对求职过程的一个总结。 同时,也作为一个面试官,来说说求职中需要注意的点。 各大厂的面试会考核哪些知识点5年开发应该具备哪些技术要点…

chatgpt赋能Python-pycharm取消venv

PyCharm取消venv:一种更简便的虚拟环境管理方式 虚拟环境是Python开发中的重要组成部分之一。它可以让您在同一台机器上使用不同的Python版本、不同的库以及不同的项目而不会干扰彼此之间的功能独立性。而在Python开发中,venv是创建虚拟环境的常用方式之…

chatgpt赋能Python-pycharm怎么关联

Pycharm怎么关联——提高Python开发效率的关键步骤 作为一名有10年Python编程经验的工程师,我深知在日常开发中如何提高Python的编程效率至关重要。而Pycharm则是Python领域最常用的IDE之一,其强大的代码编辑和调试功能,深受开发者的喜爱。 …

Linux驱动开发 --- CCF时钟框架

0. CCF时钟框架概览 linux内核的CCF时钟框架可以分为三层,每一层的职责以及彼此的关系如下图所示 对CCF框架的分析也将以如下几个方向入手: consumer(也就是device driver)如何使用CCFprovider如何借助CCF管理系统的时钟资源CC…

前端BFC

一、首先我们要先了解常见的定位方案,总共3种(普通流、浮动、绝对定位) 而BFC是属于普通流的 我们可以把BFC看作为页面的一块渲染区域,他有着自己的渲染规则 简单来说BFC可以看作元素的一种属性,当元素拥有了BFC属性…

ChatGPT:2. 使用OpenAI创建自己的AI网站:1. 初探API

使用OpenAI创建自己的AI网站 如果你还是一个OpenAI的小白,有OpenAI的账号,但想调用OpenAI的API搞一些有意思的事,那么这一系列的教程将仔细的为你讲解如何使用OpenAI的API制作属于自己的AI网站。博主只能利用下班时间更新,进度慢…

自学spring个人笔记

目录 如何学习spring? 如何查看自己电脑是否安装了spring boot Spring Boot CLI安装成功 springboot的版本2.7.12(SNAPSHOT)与2.7.11有什么区别? 报错解决 Plugin org.springframework.boot:spring-boot-maven-plugin:not found 在maven pom.xml中…

【AFNetWorking源码(二)AFURLSessionManger和AFHTTPSessionManager】

前言 学习了Mananger的初始化和以GET请求为例的过程,发现整个过程离不开AFHTTPSessionManager和AFURLSessionManger的某些方法。这两个是AFN的重要的网络通信模块内容,对它们作揖详细的学习。 AFURLSessionManager和AFHTTPSessionManager都是AFNetwork…

chatgpt赋能Python-mac电脑安装python

在Mac电脑上轻松安装Python Python是一种高级编程语言,常用于数据科学、机器学习和Web开发等领域。如果你是一名Mac电脑用户,那么安装Python将会让你受益匪浅。本文将提供详细的操作步骤,让你轻松安装Python并开始学习编程。 第一步&#x…

【Linux】进程地址空间(带你认清内存的本质)

🔥🔥 欢迎来到小林的博客!!       🛰️博客主页:✈️小林爱敲代码       🛰️博客专栏:✈️Linux之路       🛰️社区 :✈️ 进步学堂       &a…

Linux:chmod chown 权限管理

基础权限有以下三个 r 读 4 w 写 2 x 执行 1 - 无此权限 0 开头的第一个字母是这个的类型 d 目录 - 普通文件 l 链接文件 常见的三种 只不过今天不讲这个 从第二个字母开始看起 三个字母为一组 一共…

【EfficientDet】《EfficientDet:Scalable and Efficient Object Detection》

CVPR-2020 文章目录 1 Background and Motivation2 Related Work3 Advantages / Contributions4 Method4.1 BiFPN4.2 EfficientDet 5 Experiments5.1 Datasets5.2 EfficientDet for Object Detection5.3 EfficientDet for Semantic Segmentation5.4 Ablation Study 6 Conclusio…

RocketMQ你不得不了解的 Rebalance机制源码分析

这里是weihubeats,觉得文章不错可以关注公众号小奏技术,文章首发。拒绝营销号,拒绝标题党 RocketMQ版本 version: 5.1.0 RocketMQ中consumer消费模型 在了解RocketMQ的Rebalance机制之前,我们必须先简单了解下rocketmq的消费模型 我们知道…

chatgpt赋能Python-left函数_python

Left 函数在Python中的使用及其优点 在Python编程语言中,字符串处理是不可避免的任务。Python提供了许多内置函数来处理字符串,其中left()函数是其中一个非常重要的函数。本文将介绍left()函数的用法、优点和一些实例,以便更好的理解该函数。…