JOIN基于多个表之间的共同字段,把多个表的行结合起来。

一、INNER JOIN 关键字

INNER JOIN关键字:在表中存在至少一个匹配时返回行。

语法如下:

SELECT 列名1,列名2... FROM 表1 INNER JOIN 表2 ON 表1.列名 = 表2.列名;

演示student表:                  演示class表:

    

例子:

SELECT * FROM student INNER JOIN class ON student.class_id = class.class_id;

运行结果:

可以看到student表的class_id=7和class表的class_id6都没有搜索出来。

二、LEFT JOIN 关键字

LEFT JOIN 关键字:返回表1的所有行,表2没有匹配的则为NULL。

语法格式如下:

SELECT 列名1,列名2... FROM 表1 LEFT JOIN 表2 ON 表1.列名 = 表2.列名;

例子:

SELECT * FROM student LEFT JOIN class ON student.class_id = class.class_id;

运行结果:

可以看到,返回了student表的所有行,class表不匹配的显示NULL。

三、RIGHT JOIN关键字

RIGHT JOIN关键字:和LEFT JOIN关键字相反,返回表2的所有行,表1中没有匹配的则显示为NULL。

语法格式如下:

SELECT 列名1,列名2... FROM 表1 RIGHT JOIN 表2 ON 表1.列名 = 表2.列名;

例子:

SELECT * FROM student RIGHT JOIN class ON student.class_id = class.class_id;

运行结果:

可以看到,返回了class表的所有行,student表不匹配的显示NULL。

四、FULL OUTER JOIN关键字

FULL OUTER JOIN关键字:返回表1表2中的所有行(注意MySql中不支持)。

语法格式如下:

SELECT 列名1,列名2... FROM 表1 FULL OUTER JOIN 表2 ON 表1.列名 = 表2.列名;

例子:

SELECT * FROM student FULL OUTER JOIN class ON student.class_id = class.class_id;

╭(╯^╰)╮由于使用的是MySql,所以运行结果就不显示出来了。

SQL——JOIN(连接)的更多相关文章

  1. 【SQL】各取所需 | SQL JOIN连接查询各种用法总结

    前面 在实际应用中,大多的查询都是需要多表连接查询的,但很多初学SQL的小伙伴总对各种JOIN有些迷糊.回想一下,初期很长一段时间,我常用的似乎也就是等值连接 WHERE 后面加等号,对各种JOIN也 ...

  2. SQL Join连接

    SQL 连接(Joins) SQL join 用于把来自两个或多个表的行结合起来. SQL JOIN SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段. 最常见的 J ...

  3. SQL join 连接时 条件加在 on后面和 where 的区别

    task 是用户任务表,manageuser是用户表,以left join 为参考: 此时主表是task,三条sql语句:注意区别.第一句无筛选条件,第二句筛选条件在on后面,第三句sql的筛选语句放 ...

  4. SQL JOIN连接分类[转]

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符):包括相等联接和自然联接: 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行:    2.外联接.外联接可以 ...

  5. LINQ系列:LINQ to SQL Join连接

    1. 一对多 var expr = context.Products .Where(p => p.Category.CategoryName == "LINQ to SQL" ...

  6. SQL Join(连接查询)

    1.连接查询分为: inner join(自然连接,自连接) Left join(左连接)/Left outer join(左外连接):效果一样 Right join(右连接)/Right outer ...

  7. SQL Join连接大小表在前在后的重要性(小表在前提高执行效率)

    引用地址:https://blog.csdn.net/qq_30349961/article/details/82662550 http://blog.sina.com.cn/s/blog_6ff05 ...

  8. SQL表连接查询(inner join、full join、left join、right join)

    SQL表连接查询(inner join.full join.left join.right join) 前提条件:假设有两个表,一个是学生表,一个是学生成绩表. 表的数据有: 一.内连接-inner ...

  9. sql表连接left join,right join,inner join三者之间的区别

    sql表连接left join,right join,inner join区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 (以左表数据为基准,不足补为NULL) ...

  10. SQL ----------- join (inner join 内连接)

    SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段,把两个表中的数据放在一个表中查询 注意: join 连接有多种方式,比如内连接,外连接,交叉连接 可以和where ...

随机推荐

  1. B/S大附件上传,支持断点续传

    核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...

  2. 关于System.MissingMethodException异常

    什么是MissingMethodException 试图动态访问不存在的方法时引发的异常. 继承 Object Exception SystemException MemberAccessExcept ...

  3. 51 NOD 1239 欧拉函数之和(杜教筛)

    1239 欧拉函数之和 基准时间限制:3 秒 空间限制:131072 KB 分值: 320 难度:7级算法题 收藏 关注 对正整数n,欧拉函数是小于或等于n的数中与n互质的数的数目.此函数以其首名研究 ...

  4. ranger 使用外置的solr

    一.solrcloud部署 1.下载部署 1).下载二进制包 #wget http://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/8.3.0/so ...

  5. 剑指offer:数组中的逆序对

    题目描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P%100 ...

  6. maven工程中MENIFEST.MF中属性作用

    Manifest-Version: 版本号 Bundle-ManifestVersion: bundle的版本号 Bundle-Name: bundle的名称,主要是对bundle的作用的说明 Bun ...

  7. pycharm 当有多个.py文件在开发环境中时,如何操作可以保证运行当前面对自己的文件?

    Alt+shift+F10选择自己的py文件,执行就可以了.

  8. win10如何删除自己设置过的头像

    把      %appdata%\Microsoft\Windows\AccountPictures  输入到地址栏  然后删除你想删除的照片即可

  9. DOM 是什么,Document Object Model,文档对像模型

    #为什么会想起来写这个 在写dynaTrace Ajax的时候,写到这个是个前端性能测试工具,这个工具能记录请求时间,前端页面渲染时间,DOM方法执行时间,以及JavaScript代码解析和执行时间. ...

  10. Windows10环境下 Nginx+ffmpeg自搭服务器制作RTMP直播流

    Windows10环境下 Nginx+ffmpeg自搭服务器制作RTMP直播流学习笔记 所需条件: nginx-rtmp-module(带rtmp模块) ,链接:https://link.jiansh ...