首页 > 其他分享 >四、关联查询

四、关联查询

时间:2022-10-20 23:15:45浏览次数:42  
标签:笛卡尔 关联 dept emp 查询 id select

一.笛卡尔积

1.概念

笛卡尔积是指在数学中,两个集合X和Y的笛卡尔积,又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。
简单概括:举例说明集合X={1,2,3},集合Y={a,b};两个集合的笛卡尔积为{(1,a),(1,b),(2,a),(2,b),(3,a),(3,b)}。他们的结果为X集合的成员个数✖Y集合成员个数。

2.sql中笛卡尔积表现为冗余

通常我们做多表关联查询时,很容易就会查出笛卡尔积的结果。
emp表:

dept表:

笛卡尔积查询:select * from dept,emp;

二. 内连接

内连接查询:结果集为左边表和右边表都能找到对应记录的记录

select * from dept inner join emp on dept.id=emp.dept_id;
select * from dept,emp where dept.id=emp.dept_id;

三. 外连接

1.左外连接
查询结果集:左边表全部显示,对应右边表没有的记录显示null

select * from dept left join emp on dept.id=emp.dept_id;
1


2.右外连接
查询结果集:右边表全部显示,对应左边表没有记录的显示null

 

四.全外连接
查询结果集:在内连接的基础上增加左边表有而右边表没有的记录和右边表有而左表表没有的记录
1.原查询语句:(mysql不支持全外连接)

select * from dept full join emp on dept.id=emp.dept_id;
1
2.mysql模拟全外连接查询:(使用union关键字)

select * from dept left join emp on dept.id=emp.dept_id
union
select * from dept right join emp on dept.id=emp.dept_id;

参考链接:https://blog.csdn.net/qq_41833455/article/details/110948571

标签:笛卡尔,关联,dept,emp,查询,id,select
From: https://www.cnblogs.com/xdlrf/p/16811702.html

相关文章

  • mybatis使用 Map查询
    //前端传的多选参数List<SemiSerialListVo>semiSerialRecordsList=queryDate.getSemiSerialRecords();/***根据批次号查询备注,组装成map*Map查询的参数map......
  • 一种简单的视图层数据查询模块数据流--视图、路由、API
    背景简介实现前台项目的搜索页时,通常会将查询参数直接传给路由并显示在顶部的地址。params参数可以路径的一部分,因此可以理解;不过保留query的目的暂不清楚,对SSR模......
  • 多表查询_子查询情况3多表查询_练习
    多表查询_子查询情况3子查询情况3子查询的结果是多行多列的:子查询可以作为一张虚拟表参与查询......
  • 多表查询_内连接与多表查询_外连接
    多表查询_内连接1.内连接查询1.隐式内连接:使用where条件消除无用数据例子:         ......
  • IP数据云教你网站ip地址查询的方法
    我们在使用电脑的过程中,除了使用一些软件来工作娱乐之外,使用最多的就是上网站浏览各种各样的信息了,比如新闻,体育比赛的报道或者是上淘宝之类的网站买东西,当然,这些东西对我们......
  • MySQL高级查询
    1.子查询、联合查询--selectmax(score)fromstu--子查询select*from(selectmax(score)fromstu)s1;--子查询,查询最高分的学生信息select*fromstuwhe......
  • 数据库的备份和还原与多表查询_概述
    数据库的备份和还原数据库的备份和还原1.命令行备份:mysqldump-u用户名-p密码数据库名称>保存的路径 ......
  • mysql数据索引,加快查询速度
    一、什么是索引?在mysql中,索引是一种特殊的数据库结构,由数据表中的一列或多列组合而成,可以用来快速查询数据表中有某一特定值的记录。通过索引,查询数据时不用读完记录的所......
  • 【MySQL】多行子查询
    1.多行子查询也称为集合比较子查询,内查询返回多行,使用多行比较操作符。操作符含义IN等于列表中的任意一个ANY和子查询返回的某一个值比较,需要和单行比较......
  • Hudi 数据湖的插入,更新,查询,分析操作示例
    Hudi数据湖的插入,更新,查询,分析操作示例作者:Grey原文地址:博客园:Hudi数据湖的插入,更新,查询,分析操作示例CSDN:Hudi数据湖的插入,更新,查询,分析操作示例前置工作首先,需要......