面试之SQL(2)--left join, inner join 和 right join的区别

来源:互联网 发布:saas系统数据库设计 编辑:程序博客网 时间:2024/06/06 14:12

表A记录如下:
aID        aName
1           a1
2           a2
3           a3
4           a4
5           a5

表B记录如下:
bID        bXuehao
1           2006102401
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  * FROM A RIGHT JOING 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
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表的

 

 

 

 

原创粉丝点击