有关Mysql的内连接,外连接,交叉连接

1.内连接:将两个表中满足连接条件的行组合起来作为结果集------inner

    语法:select 列1,列2,列n from 表一  inner join 表二 on 表一列 = 表二列 []where条件语句]

     eg:

                                                             

                                      表一(qiche)                                                                                                                     

                                             

                  

                                       表二(qiche1) 

                                                                                                                                                                                                                        

 

             select * from qiche inner join qiche1 on qiche.ID=qiche1.ID    结果如下:

                                                                                                                                     

 

 2.外连接

     a.左连接(在内连接的基础上,还包含左表中所有不符合条件的数据行,并在其中的右表列填写NULL)-----------left

       语法:select 列1,列2,列n from 表一 left join 表二 on 表一的列 = 表二的列

        eg:select * from qiche left join qiche1 on qiche.品牌=qiche1.品牌          结果如下:

                                                                                                                                               

 

    b.右连接(在内连接的基础上,还包含右表中所有不符合条件的数据行,并在其中的左表列填写NULL )------------right

         语法:select 列1,列2,列n from 表一 right join 表二 on 表一的列 = 表二的列

   c.全外连接(在内连接的基础上,还包含两个表中所有不符合条件的数据行,并在其中的左表、和右表列填写NULL )-------full

         但事实上MYSQL不支持全外连接

 

3.交叉连接(实际上做的事情就是把一个表中的每一行数据和另个一表中的所有行都重新组合一次组成新的数据表,结果的数据条数:左表行数 X 右表行数 
有一个概念叫做笛卡尔积)-----------cross join 

    语法: select * from 表一  cross join 表二

     eg: select * from qiche cross join qiche1   结果如下:

 

                                                                                            

 

posted on 2017-06-29 13:52  江湖小神仙  阅读(148)  评论(0)    收藏  举报