MySQL中的外连接
MySQL中的外连接
外连接是指查询出符合连接条件的数据同时还包含孤儿数据。
一、孤儿数据
孤儿数据是指被连接的列的值为空的数据。
二、左外连接(left outer join)
左外连接包含左表的孤儿数据;
例
一、向 employees 表中添加一条数据,名字:Lee,email :lee@sxt.cn入职时间为今天。他没有薪 水,没有经理,没有佣金。
Insert into employees(last_name , email , hire_date ) values(“lee” , “lee@sxt.cn” , sysdate());
二、查询所有雇员的名字以及他们的部门名称,包含那些没有部门的雇员。
Select e.last_name , d.department_name from employees e left outer join departments d on e.dept_id = d.department_id;
三、右外连接(right outer join)
右外连接包含右表的孤儿数据;
例
一、向 departments 表中添加一条数据,部门名称为 Testing,工作地点 ID为 5。
Insert into departments(department_name , location_id) values(“Testing” , 5);
二、查询所有雇员的名字以及他们的部门名称,包含那些没有雇员的部门。
Select e.last_name , d.department_name from employees e right outer join departments d on e. dept_id = d.department_id;
四、全外连接
MySQL中不支持full outer join连接,可以使用union实现完全连接;
Union
可以将两个查询结果合并,返回的行都是唯一的,如同对整个结果集使用了distinct;(去除了重复)
Union all
只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复 数据,那么返回的结果集就会包含充分的数据了;(不会去掉重复)
语法结构
Select 投影列 from 表名 left outer join 表名 on 连接条件 union select 投影 列 from 表名 right outer join 表名 on 连接条件;
例
查询所有雇员的名字以及他们的部门名称,包含那些没有雇员的部门以及 没有部门的雇员。
Select e.last_name , d.department_name from employees e left outer join departments d on e.dept_id = d.department_id union select em.last_name , de.department_name from employees em right outer join departments de on em.dept_id = de.department_id;
MySQL中的外连接相关推荐
- oracle 哦【的【,清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦 直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问 ...
- mysql与orancl_清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦 直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问 ...
- 【mysql】左外连接查询中 on 和 where 的区别
论点 在使用 mysql 的左外连接(left join)查询时,驱动表(left join 左边的表),亦即数据需要全部被查出表的查询条件建议用 where 设定,被驱动表(left join 右边 ...
- MySQL中的内连接和外连接
一.MySQL内连接(INNER JOIN) 内连接,又称为等值连接,是最常见的连接类型.它根据两个(或多个)表中具有相同列值的行来创建一个新的结果表.在内连接中,只有通过连接条件匹配的行才会被包含在 ...
- Mysql 中的SSL 连接
Mysql 中的SSL 连接 以下来自网络参考和自己测试整理,没有查找相关资料.若有错误之处,欢迎指正. 当前的Mysql 客户端版本基本都不太能支持 caching_sha2_password 认证 ...
- 在mysql中如何为连接添加索引_在MySQL中如何为连接添加索引
http://hackmysql.com/case4 译文: 我先通过一个简单的例子说明在MySQL中如何为连接添加索引,然后再看一个有挑战性的例子. 简单的3个表的连接 表结构很简单,3个表tblA ...
- MySQL中包含外键无法删除数据的解决方案
1.在数据库连接信息加入以下代码,意思就是允许执行多语句查询. allowMultiQueries=true 2.在删除语句前面加上SET FOREIGN_KEY_CHECKS=0; 意思就是取消My ...
- 简述SQL中的外连接
简述SQL中的"外连接" 1.SQL中外连接分为三种:左外连接.右外连接.全外连接. 2.英文书写格式: 左外连接:LEFT OUTER JOIN(LEFT JOIN): 右外连接 ...
- 清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问题:找不到SCOTT员工了,只有13条数据,这显然不合理:这就是内连接的缺 ...
最新文章
- PAT计算出2~N所有素数
- RMI-IIOP与JNDI简单小结
- 关于-32768补码的问题
- 信息学奥赛一本通(1245:不重复地输出数)
- Elastic-Job
- 【Divided Two】cpp
- Nginx完美解决前后端分离端口号不同导致的跨域问题
- Mysql中类似于oracle中nvl()函数的ifnull()函数
- AIML框架标签详解
- javascript 分割字符串
- Objective-C 入门教程
- visio绘制流程图连接线总拐弯
- sudo rosdep init 出现 ERROR: cannot download default sources list from:错误解决方法
- 基于STM32和ESP8266的WIFI信号检测仪
- iPhone4S 未能激活蜂窝移动数据网
- 【漏洞利用】逻辑漏洞之任意账号密码重置详解
- 简单解析一下,实施MES管理系统后有哪些效益
- JavaScript:实现将 base64 字符串转换为字节数组算法(附完整源码)
- win7如何启动蓝牙的设备添加到计算机
- 北邮信通导论第三单元智能温控风扇