select * from t_class_info as c;

id   gradeid  classid  year        createtime                       updatetime

1    一年级    一班    2018           
2    二年级    一班    2018           
3    三年级    一班    2018           
4    四年级    一班    2018           
5    五年级    一班    2018           
6    六年级    一班    2018           
7    七年级    一班    2018           
8    八年级    一班    2018           
9    九年级    一班    2018           
10    一年级    二班    2018        0000-00-00 00:00:00    0000-00-00 00:00:00
11    二年级    二班    2018        0000-00-00 00:00:00    0000-00-00 00:00:00
12    三年级    二班    2018        0000-00-00 00:00:00    0000-00-00 00:00:00
13    四年级    二班    2018        0000-00-00 00:00:00    0000-00-00 00:00:00
14    五年级    二班    2018        0000-00-00 00:00:00    0000-00-00 00:00:00
15    六年级    二班    2018        0000-00-00 00:00:00    0000-00-00 00:00:00
16    七年级    二班    2018        0000-00-00 00:00:00    0000-00-00 00:00:00
17    八年级    二班    2018        0000-00-00 00:00:00    0000-00-00 00:00:00
18    九年级    二班    2018        0000-00-00 00:00:00    0000-00-00 00:00:00

select * from t_user_info as u;

id   cardno name sex age birth                           gradeid

1    111    111    1    12    2018-07-31 17:17:53    2
2    222    222    0    15    2018-07-31 17:17:59    2
3    333    333    1    15    2018-07-31 17:18:02    3
4    555    444    1    16    2018-07-31 17:18:10    3
5    444    555    1    15    2018-07-31 17:18:04    3
6    666    666    0    14    2018-07-31 17:18:07    1
7    777    777    1    18    2018-07-31 17:18:12    1
8    888    888    1    23    2018-07-31 17:49:45

-- 左表全纪录+连接相等记录
select * from t_user_info as u left join t_class_info as c on c.id=u.gradeid; -- 右表全纪录+连接相等记录
select * from t_user_info as u right join t_class_info as c on c.id=u.gradeid; select * from t_class_info as c right join t_user_info as u on c.id=u.gradeid;
select * from t_class_info as c left join t_user_info as u on c.id=u.gradeid; -- 连接相等记录
select * from t_user_info as u inner join t_class_info as c on c.id=u.gradeid; -- MySQL不支持这种写法,Oracle才支持
-- select * from t_user_info as u full join t_class_info as c on c.id=u.gradeid;

LEFT JOIN、RIGHT JOIN、INNER JOIN、FULL JOIN 使用的更多相关文章

  1. SQL Server之LEFT JOIN、RIGHT LOIN、INNER JOIN的区别

    很多人刚入门的时候分不清LEFT JOIN.RIGHT LOIN 和 INNER JOIN的区别,对它们的定义比较模糊,今天就简单的介绍一下它们的区别,对于入门的人来说,应该能够帮助你们理解. lef ...

  2. SQL join中级篇--hive中 mapreduce join方法分析

    1. 概述. 本文主要介绍了mapreduce框架上如何实现两表JOIN. 2. 常见的join方法介绍 假设要进行join的数据分别来自File1和File2. 2.1 reduce side jo ...

  3. Sort merge join、Nested loops、Hash join(三种连接类型)

    目前为止,典型的连接类型有3种: Sort merge join(SMJ排序-合并连接):首先生产driving table需要的数据,然后对这些数据按照连接操作关联列进行排序:然后生产probed ...

  4. SQL高级查询技巧(两次JOIN同一个表,自包含JOIN,不等JOIN)

    掌握了这些,就比较高级啦 Using the Same Table Twice 如下面查询中的branch字段 SELECT a.account_id, e.emp_id, b_a.name open ...

  5. 【fork/join】java并发编程-fork/join示例

    package com.chinamobile.epic.tako.common.graphite.query.sync.impl; import com.google.common.collect. ...

  6. 比较一下inner join(可直接简写为join)和where直接关联

    SELECT * FROM A ,B WHERE A.ID = B.ID 是比较常用的2个表关联.之前一直用这个,后来换了家公司发现这家公司的报表大多数都是用inner join,稍微研究了一下.查阅 ...

  7. JOIN中的外连接(external join)

    外连接: ---外连接并不要求连接的两表的每一条记录在对方表中都有一条匹配记录.要保留所有记录(甚至这条记录没有匹配的记录也要保留)的表成为保留表.外连接可以一句连接表保 留左表,右表和全部表的行二进 ...

  8. 44 答疑(三)--join的写法/Simple nested loop join的性能问题/Distinct和group by的性能/备库自增主键问题

    44 答疑(三) Join的写法 35节介绍了join执行顺序,加了straight_join,两个问题: --1 如果用left join,左边的表一定是驱动表吗 --2 如果两个表的join包含多 ...

  9. SQL——左连接(Left join)右连接(Right join)内连接(Inner join)

    概念(定义) ​首先还是介绍一下这三个的定义 ​Left join:即左连接,是以左表为基础,根据ON后给出的两表的条件将两表连接起来.结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足 ...

  10. webpack 参数1、context: path.resolve 2、path.join('', '..', 'aa') 3、 path.posix.join('static','/aa')

    1.context: path.resolve 项目入口路径 2. 3.

随机推荐

  1. monit配置文件

    监控模式:(MONITRING MODE) Monit支持三种监控模式, active--Monitj监控一个服务,为了防止一系列问题,Monit会执行以及发送警报,停止,启动,重启,这是一个缺省的模 ...

  2. 用lua编写wireshark插件分析自己定义的协议

    参见: https://yoursunny.com/study/IS409/ScoreBoard.htm https://wiki.wireshark.org/LuaAPI/TreeItem http ...

  3. Linux下的搜索查找命令的详解(find)

    4.find Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项 ...

  4. docker学习(一)

    在工作和生活中免不了要学习新的东西.学习新东西要和已有的东西相结合,要有较快的效率.今天学习一下docker的使用,也锻炼一下自己学习新东西的能力. 1.学习docker,首先要下载docker.首先 ...

  5. php代码画足球场

    用代码画了个足球场 原图: 代码画出的效果图: 代码如下: // 创建一个 200X200 的图像 $img = imagecreate(800, 500); // 分配颜色 $bg = imagec ...

  6. C++ map的方法

    参考文档:http://blog.csdn.net/allovexuwenqiang/article/details/5686583 Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序 ...

  7. 伪分布式hadoop启动后jps查不到namenode的解决办法

    启动过程没有发现错误,但是jps查看进程时,发现少了NameNode,而DataNode却存在: 原因: 是端口9000已经被占用,解决办法有两个, 第一种:查找占用端口的进程,kill掉它. had ...

  8. jquery和js检测浏览器窗口尺寸和分辨率

    jquery和js检测浏览器窗口尺寸和分辨率,转载自网络,记录备忘 <script type="text/javascript">$(document).ready(f ...

  9. a链接QQ客服 在小框口中打开 感觉不错

    <a href="javascript:;" onClick="javascript:window.open('http://wpa.qq.com/msgrd?v= ...

  10. js设计模式(二)---策略模式

    策略模式: 定义: 定义一系列的算法,把他们一个个封装起来,并且是他们可以相互替换 应用场景: 要求实现某一个功能有多种方案可以选择.比如:条条大路通罗马 实现: 场景,绩效为 S的人年终奖有 4倍工 ...