准备工作:新建两张表

     表一:student

        

       填充内容:编号,姓名,班级

         

      表二:school

        

        填充内容:编号,班级,专业

         

      这两张表建好了,意为班级选课表,两张表没有任何主外键的关系,下面进行内联,左联,右联,全联的实验

一, 内联接.

    关键字:INNER JOIN

      语法:SELECT * from 表一  INNER JOIN 表二 on 表一.属性=表二.属性

      使用上面的语法来试一下:SELECT * from student  INNER JOIN school on student.class=school.class

      输出结果:

        

     这条sql语句用了内连接的关键字,并将两表中的class属性进行了链接,得出了以上的结果,发现结果的得出是有后面具体链接属性来控制的,我下面将数据修改看下得到什么结果

    修改数据:school,student没有更改

        

     继续执行上面的语句:

      

     现在得出的数据结果可以看出通过内联接,只有后面属性值对应时,才会显示出两表对应的数据,如果没有对应的属性值,其他数据就不会被显示,也就是student与school内联接,只会取出class相同的字段,而不会取出其他数据!

二, 左联接.

  关键字:LEFT JOIN

   语法:SELECT * From 表一 LEFT JOIN 表二 ON 表一.属性=表二.属性

   测试:SELECT * from student LEFT JOIN school on student.class=school.class

   结果:

     

   可以看出左联接就是以左表为主,会显示出左表的全部数据,而与其连接的表会根据字段的匹配显示对应数据,也就是说首先取出student表中所有数据,然后再加上与student与school表class字段匹配的数据!

三,右联接.

  关键字:RIGHT JOIN

   语法:SELECT * FROM 表一 RIGHT JOIN 表二 ON 表一.属性=表二.属性

   测试:SELECT * FROM student RIGHT JOIN school ON student.class=school.class

   结果

       

    可以看出,右链接与左联接雷同,会取出school中的全部数据,再取出与其class字段相匹配的数据,关于右链接不多解释!

四,全联接.

  MySQL不支持完全链接,在这里可以通过 UNION ALL 将左联和右联的结果合并实现全联接

  测试:SELECT * from student LEFT JOIN school on student.class=school.class

     UNION ALL 

     SELECT * FROM student RIGHT JOIN school ON student.class=school.class

  结果:

    

    也就是说完全链接就是左联接和右连接的合并,两边都会通过字段匹配一遍获取数据,通过union all将结果和合并,这就是完全链接状态!

    关于建表,和sql语句已经在随笔中写出了,实验的话直接copy使用,谢谢!

  

  

  

    

         

      

        

  

Mysql----关于内联,左联,右联,全联的使用和理解的更多相关文章

  1. MySQL联合查询语法内联、左联、右联、全联

    MySQL联合查询效率较高,以下例子来说明联合查询(内联.左联.右联.全联)的好处: T1表结构(用户id,用户名,密码)   userid   username  password 1   jack ...

  2. mysql中的联合查询(内联、左联、外联、右联、全联)

    转  https://www.cnblogs.com/withscorpion/p/9454490.html 联合查询效率较高,举例子来说明联合查询:内联inner join .左联left oute ...

  3. SQL联合查询(内联、左联、右联、全联)的语法(转)

    最近在做一个比较复杂的业务,涉及的表较多,于是在网上找了一些sql联合查询的例子进行研究使用. 概述: 联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer j ...

  4. SQL联合查询(内联、左联、右联、全联)的语法

    联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer join .右联right outer join .全联full outer join 的好处及用法. 联 ...

  5. sql 内联,左联,右联,全联

    联合查询效率较高,以下例子来说明联合查询(内联.左联.右联.全联)的好处: T1表结构(用户名,密码) userid (int) username varchar(20) password  varc ...

  6. SQL联合查询(内联、左联、右联、全联)语法

    SQL联合查询(内联.左联.右联.全联)语法 概述: 联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer join .右联right outer join  ...

  7. mysql的内连接,外连接(左外连接,右外连接)巩固

    1:mysql的内连接: 内连接(inner join):显示左表以及右表符合连接条件的记录: select a.goods_id,a.goods_name,b.cate_name from tdb_ ...

  8. MySQL实验 内连接优化order by+limit 以及添加索引再次改进

    MySQL实验 内连接优化order by+limit 以及添加索引再次改进 在进行子查询优化双参数limit时我萌生了测试更加符合实际生产需要的ORDER BY + LIMIT的想法,或许我们也可以 ...

  9. MYSQL常用内置函数详解说明

    函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...

随机推荐

  1. Ubuntu16 远程连接MySQL

    1.进入MySQL配置目录允许其他IP可以链接 vi /etc/mysql/mysql.conf.d/mysqld.cnf 吧下面这行注释掉 #bind-address = 127.0.0.1 2.远 ...

  2. 40个Java多线程问题

    1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然 ...

  3. 基于 Aspose.Cells与XML导入excel 数据----操作类封装

    前言 导入excel数据, 在每个项目中基本上都会遇到,第三方插件或者基于微软office,用的最多的就是npoi,aspose.cells和c#基于office这三种方式,其中各有各的优缺点,在这也 ...

  4. [转载] Linux的Top命令解析

    转载自http://www.jb51.net/LINUXjishu/34604.html.http://blog.csdn.net/hello_yang213/article/details/7455 ...

  5. markdown使用小结

    初学时,对不太熟悉的markdown语法,有个简单记录 公式 公式一般用Latex书写,在线Latex编辑器可以使用,有以下几种方法供选择 有然后保存为图片gif格式,使用img标签进行引用. 使用G ...

  6. ASP.NET Core缓存静态资源

    背景 缓存样式表,JavaScript或图像文件等静态资源可以提高您网站的性能.在客户端,总是从缓存中加载一个静态文件,这样可以减少对服务器的请求数量,从而减少获取页面及其资源的时间.在服务器端,由于 ...

  7. Windows下pycharm远程连接服务器调试-tensorflow无法加载问题

    最近打算在win系统下使用pycharm开发程序,并远程连接服务器调试程序,其中在import tensorflow时报错如图所示(在远程服务器中执行程序正常): 直观错误为: ImportError ...

  8. Lua API 小记1

    这些东西是平时遇到的, 觉得有一定的价值, 所以记录下来, 以后遇到类似的问题可以查阅, 同时分享出来也能方便需要的人, 转载请注明来自RingOfTheC[ring.of.the.c@gmail.c ...

  9. 关于Could not resolve dependencies for project

    异常:Could not resolve dependencies for project 思路:网上提出的方案思路都是把相互依赖的项目导入到本地仓库中. 目前一劳永逸的方法是:将<packag ...

  10. Flex布局学习笔记

    任何元素都可以使用Flex布局,包括行内元素 display: flex; display: inline-flex使用Flex布局之后,子元素的float, clear, vertical-alig ...