join连接的困惑,请帮帮我吧!
两个表,这是第一个表(pers)的字段和数据;
nmaes addr age code
王成兵 绵阳 25 1
刘德华 香港 55 0
刘和在 日本 33 1
吴达在 中国 44 1
李知在 广东 34 1
这是第二个表(perss)的字段和数据.
nmaes addr age code
李鹏小 四川 34 1
周小庆 东海 34 1
吴小后 北京 56 0
郭小中 台湾 43 0
瘟神人 广东 23 1
我用这条语句,
select * from pers as a join perss as b on(a.code=b.code) where a.code= '1 ' or b.code= '1 '
本想得到code=1的内容显示出来,而结果去是他的笛卡尔值,为什么呢!
这是用上面那条语句得到的结果:
nmaes addr age code nmaes addr age code
王成兵 绵阳 25 1 李鹏小 四川 34 1
王成兵 绵阳 25 1 周小庆 东海 34 1
王成兵 绵阳 25 1 瘟神人 广东 23 1
刘和在 日本 33 1 李鹏小 四川 34 1
刘和在 日本 33 1 周小庆 东海 34 1
刘和在 日本 33 1 瘟神人 广东 23 1
吴达在 中国 44 1 李鹏小 四川 34 1
吴达在 中国 44 1 周小庆 东海 34 1
吴达在 中国 44 1 瘟神人 广东 23 1
李知在 广东 34 1 李鹏小 四川 34 1
李知在 广东 34 1 周小庆 东海 34 1
李知在 广东 34 1 瘟神人 广东 23 1
请帮我指出这条语句的错误!
谢谢!
------解决方案--------------------select * from pers where code=1
unoin
select * from perss where code=1
------解决方案--------------------select * from pers where code = 1
union all
select * from perss where code = 1