A表M个数据 B表N个数据 A表和B表连接后,就有M*N个数据。如: select * from ta,tb; 1.连接 2.连接条件 ------------------ 1.左连接left: select 列1,列2,列N from tableA left join tableB on tableA.列=tableB.列 where,group by,having。。。照常写 2.右连接right: select 列1,列2,列N from tableA right join tableB on tableA.列=tableB.列 where,group by,having。。。照常写 3.内连接inner: select 列1,列2,列N from tableA inner join tableB on tableA.列=tableB.列 where,group by,having。。。照常写 ----------------------- 左/右连接时,都以左表为准, 左右连接可以相互转换。 A left join B --->B right join A 内连接:查询左右表都有的数据,但不要左/右连接表中NULL的那一部分 内连接是左右表的交集。 create table boy( name char(3), flower char(5) ); insert into boy values ("刘翔","玫瑰花"), ("周杰伦","菊花"), ("王力宏","桃花"), ("林书豪","枝子花"), ("犀利哥","茉莉花"); create table girl( name char(3), flower char(5) ); insert into girl values ("大S","玫瑰花"), ("凤姐","菊花"), ("芙蓉姐","菊花"), ("林专玲","桃花"), ("高圆圆","枝子花"), ("杨幂","破花"); 建好表后: 1.左连接left join: select boy.* ,girl.* from boy left join girl on boy.flower=girl.flower; 左表是boy,所以以boy为准。没有的补NULL +--------+--------+--------+--------+ | name | flower | name | flower | +--------+--------+--------+--------+ | 刘翔 | 玫瑰花 | 大S | 玫瑰花 | | 周杰伦 | 菊花 | 凤姐 | 菊花 | | 周杰伦 | 菊花 | 芙蓉姐 | 菊花 | | 王力宏 | 桃花 | 林专玲 | 桃花 | | 林书豪 | 枝子花 | 高圆圆 | 枝子花 | | 犀利哥 | 茉莉花 | NULL | NULL | +--------+--------+--------+--------+ 2.右连接right join: select boy.*,girl.* from boy right join girl on boy.flower=girl.flower; 这个右连接中的左表是girl,所以以girl表为准: +--------+--------+--------+--------+ | name | flower | name | flower | +--------+--------+--------+--------+ | 刘翔 | 玫瑰花 | 大S | 玫瑰花 | | 周杰伦 | 菊花 | 凤姐 | 菊花 | | 周杰伦 | 菊花 | 芙蓉姐 | 菊花 | | 王力宏 | 桃花 | 林专玲 | 桃花 | | 林书豪 | 枝子花 | 高圆圆 | 枝子花 | | NULL | NULL | 杨幂 | 破花 | +--------+--------+--------+--------+ 注意,girl right join boy,这个右连接中左表也是boy, 可以转换成boy left join girl,两者查询结果是一样的。 3.内连接inner join: select boy.*,girl.* from boy inner join girl on boy.flower=girl.flower; 左右表的交集,不要NULL那一部分 +--------+--------+--------+--------+ | name | flower | name | flower | +--------+--------+--------+--------+ | 刘翔 | 玫瑰花 | 大S | 玫瑰花 | | 周杰伦 | 菊花 | 凤姐 | 菊花 | | 周杰伦 | 菊花 | 芙蓉姐 | 菊花 | | 王力宏 | 桃花 | 林专玲 | 桃花 | | 林书豪 | 枝子花 | 高圆圆 | 枝子花 | +--------+--------+--------+--------+
原文地址:http://1154179272.blog.51cto.com/10217799/1653255