Mysql中Left Join Right Join Inner Join where条件的比较
建立一对多的表 company 和 employee
company表
id name address
1baidu北京
2huawei深圳
3jingdong北京
4tengxun上海
employee表
id name company_id age
1wang11 28
2zhang22 22
3sun13 19
4zhao22 33
5li55 25
1 left join:
SELECT * FROM company c LEFT JOIN employee e on c.id = e.company_id
1baidu北京1wang1128
2huawei深圳2zhang2222
3jingdong北京3sun1319
2huawei深圳4zhao2233
4tengxun上海
总结:left join 按照左表来查询,全部信息,即使右表没有也展示出来,如果左表对右表多个,那么会出来多条,保证右表的信息都展示出来 左表的信息必须
2 right join:
SELECT * FROM company c RIGHT JOIN employee e on c.id = e.company_id
1baidu北京1wang1128
2huawei深圳2zhang2222
2huawei深圳4zhao2233
3jingdong北京3sun1319
5li5 525
总结:right join 按照右表来查询,全部信息,即使左表没有也展示出来,右表的信息必须
3 inner join
SELECT * FROM company c INNER JOIN employee e on c.id = e.company_id
1baidu北京1wang1128
2huawei深圳2zhang2222
3jingdong北京3sun1319
2huawei深圳4zhao2233
总结:inner join 按照两个表来查询,全部信息,只要有一个表没有也查出来,两个表的信息必须
4 where 条件
SELECT * FROM company c , employee e WHERE c.id = e.company_id
1 baidu 北京 1 wang1 1 28
2 huawei 深圳 2 zhang2 2 22
3 jingdong 北京 3 sun1 3 19
2 huawei 深圳 4 zhao2 2 33
总结: 按照两个表来查询,全部信息,只要有一个表没有也查出来,两个表的信息必须,相当于inner join


Mysql中Left Join Right Join Inner Join where条件的比较的更多相关文章
- MySQL中不允许使用列别名作为查询条件
在MySQL中有个特殊的规定,即不允许使用列别名作为查询条件.比如有下面一个表: select ID, title, concept, conceptLength, ...
- MySQL中链接查询inner join与left join使用
连接查询其实就是对两个表记录做笛卡尔乘积.如果不指定连接条件的话,则会对每行都做笛卡尔乘积,这样最后返回的结果树就会是两个表记录数的乘积:如果指定则,则仅对符合列条件的行进行笛卡尔乘积,并返回结果.在 ...
- MySQL中没有FULL OUTER JOIN的处理
FULL OUTER JOIN:SELECT column_name(s)FROM table1FULL OUTER JOIN table2ON table1.column_name=table2.c ...
- MySQL 中 where id in (1,2,3,4,...) 的效率问题讨论
MySQL ACMAIN_CHM06-26 16:36 等级 84次回复 [求证&散分]MySQL 中 where id in (1,2,3,4,...) 的效率问题讨论 庆祝本月大版得 ...
- MySQL中的联结表
使用联结能够实现用一条SELECT语句检索出存储在多个表中的数据.联结是一种机制,用来在一条SELECT语句中关联表,不是物理实体,其在实际的数据库表中并不存在,DBMS会根据需要建立联结,且会在查询 ...
- 关于MySQL中的left join、on、where的一点深入
原文地址:http://www.oschina.net/question/89964_65912?sort=default&p=3#answers 即使你认为自己已对 MySQL 的 LEFT ...
- mysql中的JOIN用法总结
join是mysql中一个基础的关键词,一般在多表连接查询中使用,这里做一下总结 1.JOIN的语法格式 table_references: table_reference [, table_refe ...
- mysql中多个left join子查询写法以及别名用法
不多说 直接上语句 SELECT a.id, a.thumbNail, a. NAME, a.marketPrice, a.memberPrice, ...
- mysql中的几种join 及 full join问题
[注意]:Oracle数据库支持full join,mysql是不支持full join的,但仍然可以同过左外连接+ union+右外连接实现 初始化SQL语句: /*join 建表语句*/ ...
- Mysql中Join用法及优化
Join的几种类型 笛卡尔积(交叉连接) 如果A表有n条记录,B表有m条记录,笛卡尔积产生的结果就会产生n*m条记录.在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者直接用f ...
随机推荐
- django的request介绍和APIView流程分析和CBV的流程分析
首先get请求的数据都在request.GET中,request.body中没有,因为只有post请求有请求体,request.body中的数据是请求体的数据 首先,我们还是用cbv的方式来讲解 我们 ...
- jQuery与js对象互转
@参考文章 1 jQuery对象转js 亲测有效 var $v=$("#v"); //jQuery对象 ); //js对象 或 var $v =$("#v") ...
- 【分布式架构】“spring cloud”与“dubbo”微服务的对比
秉承站在巨人的肩膀上,同时我也不想重复制造轮子,我发现了一系列关于“分布式架构”方面,我需要,同时能够解决我的一些疑惑.问题的博客,转载过来,原文链接: http://blog.csdn.net/ ...
- ES6对象
--------------------------------------------------------------------- 对象的扩展 let obj = {a: 1, b: 2, c ...
- (八) .launch文件 ---编写简单的启动脚本文件
下面我们将介绍,如何编写一个启动脚本程序:(.launch文件) 还记得我们在 创建ROS软件包教程 中创建的第一个程序包(beginner_tutorials)吗,现在我们要使用它. 在 begin ...
- Oracle管理表空间和数据文件详解
介绍 表空间是数据库的逻辑组成部分 从物理上将:数据库数据存放在数据文件中 从逻辑上将:数据库则是存放在表空间中 表空间由一个或是多个数据文件组成 数据库的逻辑结构 介绍: Oracle中逻辑结构包括 ...
- SD-WAN介绍
SD-WAN SD-WAN特性 相关技术 Hybrid WAN WAN Optimization WAN edge router MPLS NFV SDN SD-WAN厂商 SD-WAN SD-WAN ...
- oracle表或视图不存在和标识符无效的问题解决
通过dbvisualizer修改表的名字时,一定要改成大写,否则会报错,数据库中没有该表的错误. 如果新的表名为小写,不行! select的时候,可以用小写名. 标识符无效解决:字段名默认都是大写的, ...
- Centos查公网IP地址
[root@syy ~]# curl icanhazip.com 115.29.208.111
- PHP 批量移动文件改名
public function changeCoverName(){ //$type = '考研'; //$coverPath = './Public/course_cover/kaoyan/'; $ ...