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 ...
随机推荐
- Linux 线程】线程同步《四》
1.信号量 (1)概念 信号量和互斥锁(mutex)的区别:互斥锁只允许一个线程进入临界区,而信号量允许多个线程同时进入临界区. 不多做解释,要使用信号量同步,需要包含头文件semaphore.h. ...
- Django的Rbac介绍3
今天的博客主要是记录一下如何实现左侧菜单,这里我们想实现的效果就是,如果用户有查看用户的权限,则显示查看用户的左侧菜单,如果用户有查看角色的权限,则显示查看角色的左侧菜单,如果两者都有,则需要显示两个 ...
- [leetcode]449. Serialize and Deserialize BST序列化反序列化二叉搜索树(尽量紧凑)
Serialization is the process of converting a data structure or object into a sequence of bits so tha ...
- day 08 函数
函数初始: 什么是函数? 函数:是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段 一个函数封装一个功能. 1,减少重复代码. 2,增加代码的可读性. 函数的结构 def my_len(): ...
- php使用sftp上传文件
搞这个SFTP文件传输搞了一整天真是醉了,从sftp安装,到php的ssh2扩展安装,最后到php应用ssh2来上传文件:最后就没有最后了 Failure creating remote file: ...
- c#编写windows服务在开机是OnStart启动超时
1.编写服务对应的config文件, 比如我的服务叫ModbusAgent.exe,对应的文件叫ModbusAgent.exe.config 文件内容: <?xml version=" ...
- ef linq 中判断实体中是否包含某集合
我有一个需求,问题有很多标签,在查询时,需要筛选包含查询标签的一个集合(List<int>),以前的做法是先查询出来符合查询标签条件的标签id的结果集A,再查询问题时,加上判断是否包含该标 ...
- jupyter notebook 初步使用配置调整
jupyter notebook 官方说明 初始部分: 如何打开特定的笔记本? 以下代码应在当前运行的笔记本服务器中打开给定的笔记本,必要时启动一个. jupyter notebook noteboo ...
- LIbreOJ #6011. 「网络流 24 题」运输问题 最小费用最大流
#6011. 「网络流 24 题」运输问题 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据 题目描述 ...
- 查询数据库中的表格---通过构造方法将数据存入到List集合中---遍历进行输出
package cn.jy.demo; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.Res ...