必威体育Betway必威体育官网
当前位置:首页 > IT技术

多表查询。笛卡尔积查询,内连接,外连接

时间:2019-10-29 02:42:16来源:IT技术作者:seo实验室小编阅读:69次「手机版」
 

笛卡尔积

如果想查询出每个部门,和每个部门对应的员工的名字。(dept,emp两张表)。

图1笛卡尔积查询

笛卡尔积查询:

将两张表的记录进行一个相乘的操作查询出来的结果就是笛卡尔积查询,如果左表有n条记录,右表有m条记录,笛卡尔积查询出有n*m条记录,其中往往包含了很多错误的数据,所以这种查询方式并不常用。

select * from dept,emp;

图2内连接查询

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

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

select * from dept inner join emp ondept.id=emp.dept_id;(两种写法)

图3左外连接查询 

外连接查询:

左外连接查询:在内连接的基础上增加左边表有而右边表没有的记录

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

             图4右外连接查询

右外连接查询:在内连接的基础上增加右边表有而左边表没有的记录

select * from dept right join emp ondept.id=emp.dept_id;

图5全外连接查询

全外连接查询:在内连接的基础上增加左边表有而右边表没有的记录和右边表有而左表表没有的记录

select * from dept full join emp ondept.id=emp.dept_id; -- 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;

文章最后发布于: 2018-04-18 10:28:56

相关阅读

用matlab计算连续函数卷积的表达式

原文地址: https://www.computationalimaging.cn/2018/11/matlab.html卷积计算起来较为繁琐, 若能够用matlab辅助计算则会简单很

深圳社保明细查询

地址 https://e.szsi.gov.cn/siservice/pIndex.jsp

【教你方法】怎么批量手机号码查归属地,号码有好几百万

前几天有个朋友找我查询归属地8000万个号码,我一听懵了 几千,几万,几十万可以用我以前帖子的方法 这次我们遇到的是8000万个号码计算

excel表格取消共享设置的方法步骤

Excel中经常需要使用到共享功能进行共享数据,表格的共享具体该如何设置取消呢?下面是由seo实验室小编分享的excel表格取消共享设置

支付宝铂金会员要多少蚂蚁积分?有什么特权?

我们都知道,很多商场超市为了留住老客户,并回馈消费者,会推出会员制度,比如淘宝会员就分为淘宝超级会员、黑卡会员等。其实,作为我们常

分享到:

栏目导航

推荐阅读

热门阅读