A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小鲁哥哥 于 2017-6-30 13:39 编辑

【济南中心】PHP课程同步笔记day18:数据库操作语言-连表查询
连接(join)查询连接查询的概念
       连接查询,就是将两个或更多的表,以某种方式“连接起来”,成为一个整体(表),并作为数据源以供数据查询使用;
连接的方式,大致可以这样一句话描述:
       将一个表(A)的每一行,跟另一个表(B)的每一行,两两之间,以“横向对接”(并列)的方式,连接起来,成为一个更长的行,这样得到的所有行所构成的结果数据,就是连接结果(表);
假设:
       A表有m1行,n1列;
       B表有m2行,n2列;
则连接后,结果是:
       总共有n1+n2列,m1*m2行;
   
   
连接之后:
连接查询的基本语法形式:
       from  表1  【连接方式】 join  表2  【on  连接条件】
或者还可以连接更多,类似这样:
       from  表1  
       【连接方式】 join  表2  【on  连接条件】
       【连接方式】 join  表3  【on  连接条件】
       。。。。。
连接主要分为:

交叉连接:
       形式:
              from  表1  【cross】  join  表2          #即交叉连接是不设定连接条件
       含义与说明:
              1,其实就是将两个表以连接的基本概念的形式连接起来,不设定任何条件的结果数据;
              2,交叉连接又叫做“笛卡尔积”;
              3,在实际应用中,交叉连接的结果数据,几乎没有实用价值!
内连接:
       形式:
              from  表1  【inner】  join  表2  on 表1.某字段 = 表2.某字段
       说明:
              1,inner关键字可以省略,但不推荐省略;
              2,on条件的设定是必须的,表示其中一个表上的字段值,跟另一个表上的某个字段的值相等;
              3,其含义是:在交叉连接的结果数据基础上,只取出那些满足连接条件的行的数据!
              4,内连接的结果,通常就是各种应用中,找出表跟表之间的有意义有关联的数据的最常用形式;
左(外)连接:
       形式:
              from  表1  left 【outer】  join  表2  on 表1.某字段 = 表2.某字段
       说明:
              1,含义是:将内连接的连接结果数据,再加上,左边表中,那些“不能满足连接条件”的数据的结果,其中那些不能满足条件的左边表的数据行的“右边部分”,用null填充满。
右(外)连接:
       形式:
              from  表1  right 【outer】  join  表2  on 表1.某字段 = 表2.某字段
       说明:
              1,含义是:将内连接的连接结果数据,再加上,右边表中,那些“不能满足连接条件”的数据的结果,其中那些不能满足条件的右边表的数据行的“左边部分”,用null填充满。
全(外)连接:
       形式:
              from  表1  full 【outer】  join  表2  on 表1.某字段 = 表2.某字段
       说明:
              1,含义是:
                     将内连接的连接结果数据;
                     再加上,左边表中,那些“不能满足连接条件”的数据的结果;
                     再加上,右边表中,那些“不能满足连接条件”的数据的结果。
                     其中那些不能满足条件的左边表的数据行的“右边部分”,用null填充满
                     其中那些不能满足条件的右边表的数据行的“左边部分”,用null填充满。
              2,I am  sorry, mysql目前不支持该语法!


2 个回复

倒序浏览
66666666666666666666666
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马