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. Direct3D 11 Tutorial 2: Rendering a Triangle_Direct3D 11 教程2:渲染一个三角形

    概要 在之前的教程中,我们建立了一个最小的Direct3D 11的应用程序,它用来在窗口上输出一个单一颜色.在本次教程中,我们将扩展这个应用程序,在屏幕上渲染出一个单一颜色的三角形.我们将通过设置数据 ...

  2. C#高阶与初心:(一)List.Add添加的到底是什么?

    前几日与同事讨论一个相对复杂的场景,需要先将中间过程存储在List中,稍后再用.同时程序类的许多线程共用了一个全局变量. 具体来说就是如下代码 ... _order = order1; _list.A ...

  3. iOS 指导文章

    1. iOS 后台运行实现总结 http://www.jianshu.com/p/d3e279de2e32 2. C语言的各种版本:C89,AMD1,C99,C11:http://www.tuicoo ...

  4. classmethod作用

    >>> class A(object): bar = 1 def func1(self): print 'foo' >>> class A(object): bar ...

  5. 判断当前的Activity的是否处于栈顶

    lockAppName 是需要判断Activity的全称(包括包名). private boolean getTopApp(Context mContext) { String lockAppName ...

  6. jenkins之 Throttle Concurrent Builds使用

    Jenkins控制并发插件 Throttle Concurrent Builds介绍,管网见:https://github.com/jenkinsci/throttle-concurrent-buil ...

  7. linux的基本操作(NFS服务配置)

    服务配置 [什么是NFS] NFS会经常用到,用于在网络上共享存储.这样讲,你对NFS可能不太了解,笔者不妨举一个例子来说明一下NFS是用来做什么的.假如有三台机器A.B.C,它们需要访问同一个目录, ...

  8. HashSet的底层

    今天看博客,发现有个哥哥写到 HashSet的底层是数组结构,有点懵逼,不是HashMap吗怎么成数组了? 遂去查了下源码: 得以下结论: HashSet底层是 HashMap,其元素是内部map的k ...

  9. UI常用接口使用规范

    //////////////////////////////////////////////////////////////////////////////////////////////// /// ...

  10. ASP返回JQuery EasyUI树形要求的JSON格式

    根据http://blog.csdn.net/apollokk/article/details/41382479中提供的数据将结果格式化为JQuery EasyUI树形要求的JSON格式 <% ...