首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

多表联查,怎么保留主表的全部数据,但只插入副表的部分数据

2012-03-15 
多表联查,如何保留主表的全部数据,但只插入副表的部分数据?左表 left_tableidname1a2b3c4d5e右表 right_ta

多表联查,如何保留主表的全部数据,但只插入副表的部分数据?
左表 left_table
id name
1 a
2 b
3 c
4 d
5 e

右表 right_table
id type
1 x
1 y
2 x
2 y
5 x
5 y

我现在要得到下面的结果,怎么写联查语句

id name type
1 a x
2 b x
3 c  
4 d
5 e x

如果我这样写
SELECT * FROM left_table l LEFT JOIN right_table r ON l.id=r.id WHERE r.type = 1
只能得到

id name type
1 a x
2 b x
5 e x

会少了中间的3和4的,怎么办,正确的写法是怎样的?

[解决办法]
SELECT * FROM left_table l LEFT JOIN right_table r ON l.id=r.id and r.type = 1
[解决办法]

SQL code
SELECT * FROM left_table a LEFT JOIN right_table b ON a.id=b.id and b.type = 1 

热点排行