面试之SQL(2)--left join, inner join 和 right join的区别
表A记录如下:
aID aName
1 a1
2 a2
3 a3
4 a4
5 a5
表B记录如下:
bID bXuehao
12006102401
2 2006102402
3 2006102403
4 2006102404
6 2006102406
SELECT * FROM A LEFT JOIN B ON A.aID =B.bID
结果如下:
aID aName bID bXuehao
1 a1 1 2006102401
2 a2 2 2006102402
3 a3 3 2006102403
4 a4 4 2006102404
5 a5 NULL NULL
(所影响的行数为 5 行)
结果是基于A表的
SELECT * FROMARIGHT JOINGB ON A.aID = B.bID
结果如下:
aID aName bIDbXuehao
1 a1 12006102401
2 a2 2 2006102402
3 a3 3 2006102403
4 a4 4 2006102404
NULL NULL 6 2006102406
(所影响的行数为 5 行)
结果是基于B表的
SELECT * FROM a INNER JOIN b ON a.aID =b.bID
等同于以下SQL句: SELECT * FROM A,B WHERE A.aID = B.bID
结果如下:
aID aName bID bXuehao
1 a1 1 2006102401
2 a2 2 2006102402
3 a3 3 2006102403
4 a4 4 2006102404
(所影响的行数为4 行)
结果是基于A表和B表的
优质内容筛选与推荐>>