mysql的内连接和外连接小例子

转载 2016年08月29日 12:05:37

转载自:http://blog.csdn.net/zlxdream815/article/details/8208509

解释名词:

1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现

2、外连接: 包括

(1)左外连接(左边的表不加限制)

(2)右外连接(右边的表不加限制)

(3)全外连接(左右两表都不加限制)

3、创建student、score表如下

                                           (student表)

 

 


                                     (score表)

A:内连接sql
         select st.student_name,sc.object,sc.score,st.student_class
         from student st ,score sc where st.student_id=sc.student_id

        执行结果:

这个大家一般都司空见惯了。所以没什么可讲。内连接只是显示满足where后面的条件(st.student_id=sc.student_id)

B:左外连接sql

        select st.student_name,sc.object,sc.score,st.student_class
        from student st  left join score sc on st.student_id=sc.student_id
        执行结果:

左外连接是以左边的表(student st  left)student为主表,score为从表。在查询结果中全部展示主表的信息。
也就出现上图中Tom这个信息不全。因为从表中没有和Tom相匹配的信息,因此才会出现Null值填充。

C:右外连接

      select st.student_name,sc.object,sc.score,st.student_class
      from student st right  join score sc on st.student_id=sc.student_id

      执行结果:

   

   右连接刚好和做连接想法。因此就会出现上图的情况。

 

D:全外连接sql

    1. select st.student_name,sc.object,sc.score,st.student_class
     from student st  left join score sc on sc.student_id=st.student_id
    union
    select st.student_name,sc.object,sc.score,st.student_class
    from student st  RIGHT join score sc on sc.student_id=st.student_id

(本人使用mysql数据库,因为mysql暂时还不支持全外连接full的功能,但是可以用多个left来实现)

  2.select st.student_name,sc.object,sc.score,st.student_class
     from student st  full  join score sc on sc.student_id=st.student_id(此语句针对一般数据库)

相关文章推荐

【mysql】mysql的内连接和外连接小例子

解释名词: 1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 2、外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制) (3...

记一次mysql外连接关联表的别名写错引起的性能问题

原SQL如下: select count(1) from (select     count(1)         from gst         left join gss on gst...

MySQL外连接

内连接查询,返回的结果,只包含符合查询条件和连接条件的数据 有时,需要包含没有关联的数据,返回的查询结果,不仅包含符合条件的数据,而且,包括左表和右表中的所有数据,此时,需要使用外连接外连接,包括左...

mysql 外连接总结

原文:http://blog.sina.com.cn/s/blog_3d48dbb70100hyz4.html 了点时间总结了一下mysql中的内,外连接.转载注明 首先m...

mysql常用基础操作语法(九)~~外连接查询【命令行模式】

1、左外连接left outer join或者left jion,outer可以省略不写,下边的右连接和全连接也一样:左外连接的意思是,以left join左边的表中的数据为基准,即左边的表中有的必须...

mysql join 内连接和外连接

table1:左表;table2:右表。 JOIN 按照功能大致分为如下三类: INNER JOIN(内连接,或等值连接):也可以省去inner,比如join a on b,取得两个表中存在连接匹...

MySQL内连接和外连接

MySQL内连接和外连接 MySQL的连接种类分为:内连接:只连接匹配的行 外连接: 左外连接:连接中左边的表不加限制,在结果集中保留连接表达式左表中非匹配记录。 右外连接:连接中右...

09--MySQL自学教程:多表查询之内连接、外连接以及【子查询】

1.为什么要拆表?去除冗余数据 2.表与表之间的关系

MySQL学习笔记(二):内连接和外连接实现多表查询

注:内连接用的比较多 select a.studentno, a.studentname, b.classname from students a, classes b where ...

mysql中的内连接,外连接实例详解

花了点时间总结了一下mysql中的内,外连接.转载注明 author:华夏之星 QQ:1019822077 email:woai_php@sina.com 内连接: 只连接匹配的行 左外连接...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql的内连接和外连接小例子
举报原因:
原因补充:

(最多只允许输入30个字)