这里不是讲堂,只是玩一个测试。连接查询嘛,两个表最好说事了。那下面就有表A,表B。
ID | NAME |
1 | 小猫 |
2 | 小狗 |
3 | 小老鼠 |
4 | 小兔子 |
表A
ID | NAME | AID |
1 | 你 | 1 |
2 | 他 | 2 |
表B
来两个语句
select a.name,b.name as aname from B b join A a on a.aid=b.id
select a.name,b.name as aname from B b left join A a on a.aid=b.id
这两句很明白,看后都知道怎么回事(结果、过程都明白)。
那好,咱们就再来两句
select a.name,b.name as aname from B b join A a on a.aid=b.id where a.name='小猫'
select a.name,b.name as aname from B b left join A a on a.aid=b.id where a.name='小猫'
咋样?不用试了,结果都一样....可是过程呢? 想明白了就应该知道我是在忽悠你,这个关键不是连接查询,而是where关键字,where关键字是做结果集的最后赛选的。
没被忽悠别笑我,被忽悠了也别怪我。
刚开始我也没想明白。
算是做个记号。