建立一对多的表 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条件的比较的更多相关文章

  1. MySQL中不允许使用列别名作为查询条件

    在MySQL中有个特殊的规定,即不允许使用列别名作为查询条件.比如有下面一个表: select     ID,     title,     concept,     conceptLength,   ...

  2. MySQL中链接查询inner join与left join使用

    连接查询其实就是对两个表记录做笛卡尔乘积.如果不指定连接条件的话,则会对每行都做笛卡尔乘积,这样最后返回的结果树就会是两个表记录数的乘积:如果指定则,则仅对符合列条件的行进行笛卡尔乘积,并返回结果.在 ...

  3. MySQL中没有FULL OUTER JOIN的处理

    FULL OUTER JOIN:SELECT column_name(s)FROM table1FULL OUTER JOIN table2ON table1.column_name=table2.c ...

  4. MySQL 中 where id in (1,2,3,4,...) 的效率问题讨论

     MySQL ACMAIN_CHM06-26 16:36 等级 84次回复 [求证&散分]MySQL 中 where id in (1,2,3,4,...) 的效率问题讨论 庆祝本月大版得 ...

  5. MySQL中的联结表

    使用联结能够实现用一条SELECT语句检索出存储在多个表中的数据.联结是一种机制,用来在一条SELECT语句中关联表,不是物理实体,其在实际的数据库表中并不存在,DBMS会根据需要建立联结,且会在查询 ...

  6. 关于MySQL中的left join、on、where的一点深入

    原文地址:http://www.oschina.net/question/89964_65912?sort=default&p=3#answers 即使你认为自己已对 MySQL 的 LEFT ...

  7. mysql中的JOIN用法总结

    join是mysql中一个基础的关键词,一般在多表连接查询中使用,这里做一下总结 1.JOIN的语法格式 table_references: table_reference [, table_refe ...

  8. mysql中多个left join子查询写法以及别名用法

    不多说 直接上语句   SELECT     a.id,     a.thumbNail,     a. NAME,     a.marketPrice,     a.memberPrice,     ...

  9. mysql中的几种join 及 full join问题

    [注意]:Oracle数据库支持full join,mysql是不支持full join的,但仍然可以同过左外连接+ union+右外连接实现 初始化SQL语句:   /*join 建表语句*/   ...

  10. Mysql中Join用法及优化

    Join的几种类型 笛卡尔积(交叉连接) 如果A表有n条记录,B表有m条记录,笛卡尔积产生的结果就会产生n*m条记录.在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者直接用f ...

随机推荐

  1. Linux 线程】线程同步《四》

    1.信号量 (1)概念 信号量和互斥锁(mutex)的区别:互斥锁只允许一个线程进入临界区,而信号量允许多个线程同时进入临界区. 不多做解释,要使用信号量同步,需要包含头文件semaphore.h. ...

  2. Django的Rbac介绍3

    今天的博客主要是记录一下如何实现左侧菜单,这里我们想实现的效果就是,如果用户有查看用户的权限,则显示查看用户的左侧菜单,如果用户有查看角色的权限,则显示查看角色的左侧菜单,如果两者都有,则需要显示两个 ...

  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 ...

  4. day 08 函数

    函数初始: 什么是函数? 函数:是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段 一个函数封装一个功能. 1,减少重复代码. 2,增加代码的可读性. 函数的结构 def my_len(): ...

  5. php使用sftp上传文件

    搞这个SFTP文件传输搞了一整天真是醉了,从sftp安装,到php的ssh2扩展安装,最后到php应用ssh2来上传文件:最后就没有最后了 Failure creating remote file: ...

  6. c#编写windows服务在开机是OnStart启动超时

    1.编写服务对应的config文件, 比如我的服务叫ModbusAgent.exe,对应的文件叫ModbusAgent.exe.config 文件内容: <?xml version=" ...

  7. ef linq 中判断实体中是否包含某集合

    我有一个需求,问题有很多标签,在查询时,需要筛选包含查询标签的一个集合(List<int>),以前的做法是先查询出来符合查询标签条件的标签id的结果集A,再查询问题时,加上判断是否包含该标 ...

  8. jupyter notebook 初步使用配置调整

    jupyter notebook 官方说明 初始部分: 如何打开特定的笔记本? 以下代码应在当前运行的笔记本服务器中打开给定的笔记本,必要时启动一个. jupyter notebook noteboo ...

  9. LIbreOJ #6011. 「网络流 24 题」运输问题 最小费用最大流

    #6011. 「网络流 24 题」运输问题 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据   题目描述 ...

  10. 查询数据库中的表格---通过构造方法将数据存入到List集合中---遍历进行输出

    package cn.jy.demo; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.Res ...