MySql LEFT JOIN 问题

cyx_java 2008-08-22 02:40:22
现在有两个表A_TBL B_TBL
A_TBL 数据如下:

id en
1 1
2 0
3 1
4 1

B_TBL 数据如下:

id aid en
11 1 1
12 2 1
13 3 0
14 3 1
15 4 1
16 2 1
17 5 1

(1)
SELECT * FROM A_TBL AS A

LEFT JOIN B_TBL AS B

ON B.aid = A.id

AND B.en = 1

WHERE A.en = 1

(2)
SELECT * FROM A_TBL AS A

LEFT JOIN B_TBL AS B

ON B.aid = A.id

AND B.en = 1

AND A.en = 1

请给我1,2两个查询结果. 并说出原因.
多谢.





...全文
47 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangxiao_jiang 2008-08-22
  • 打赏
  • 举报
回复
1、
id en id aid en
----- ----- ----- ------ -----
1 1 11 1 1
3 1 14 3 1
4 1 15 4 1
2、
id en id aid en
----- ----- ------ ------ ------
1 1 11 1 1
2 0 (null) (null) (null)
3 1 14 3 1
4 1 15 4 1

因为1的条件是where,他是在left join后,然后再进行过滤的,所以结果中不会在有en!=1的纪录

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧