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