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. 【规范】前端编码规范——html 规范

    文档类型 推荐使用 html5 的文档类型申明: <!DOCTYPE html> 语言属性 根据 html5 规范: 强烈建议为 html 根元素指定 lang 属性,从而为文档设置正确的 ...

  2. diff ->> acl & prefix list

    1,ACL可以用于数据层面也可以用于控制层面,prefix-list只能用于控制层面2,ACL抓的是定长掩码的子网,而prefix-list可以抓取一个前缀下的所有掩码长度即子网.比如说ACL中的pe ...

  3. Java锁机制(一)synchronized

    进行多线程编程的时候,需要考虑的是线程间的同步问题.对于共享的资源,需要进行互斥的访问.在Java中可以使用一些手段来达到线程同步的目的: 1. synchronized 2. ThreadLocal ...

  4. Tensorflow r1.8安装C++接口(兼容OpenCV3)

    与之前一样,直接走medium的传送门:https://medium.com/@fanzongshaoxing/use-tensorflow-c-api-with-opencv3-bacb83ca56 ...

  5. phpstudy 升级(更换) mysql 版本

    原文链接:http://phpstudy.php.cn/jishu-php-3131.html 一.下载新版 mysql 例如 mysql5.7: https://dev.mysql.com/down ...

  6. ubuntu使任何地方右键都能打开terminal

    ubuntu下安装terminal,在任何地方右键都可以快速的打开termial sudo apt-get install nautilus-open-terminal 重启电脑

  7. Kindeditor视频上传问题处理

    初始的时候,video这个标签kindeditor是不识别的,只要html处理或者全屏的时候,都会被排除掉.如果想要video存在,则需要设置属性filterMode :false 如果只是想要某个标 ...

  8. python程序如何脱离ide而在操作系统上执行

    IDE就像一个婴儿的摇篮,当程序开发好了之后,打包成一个在OS运行的软件,这是算法落地的重要一步.如果只能在IDE上运行,那这个软件有什么意义呢?接下来我就得想办法,把我的程序迁移到win操作系统上执 ...

  9. PE、ELF结构图

    PE:https://bbs.pediy.com/thread-203563.htm ELF:https://blog.csdn.net/jiangwei0910410003/article/deta ...

  10. java课程课后作业05之动手动脑

    一.使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件 此代码没有使用walkfiletree,两者的差别在于walkfiletree在遍历文件的时候有一 ...