首页 > 其他 > 详细

笔试复习题《三》

时间:2014-09-16 18:48:30      阅读:233      评论:0      收藏:0      [点我收藏+]

一、数据库知识

1,left join 、right join

例: 表A记录如下:
ID Num
1 a20050111
2 a20050112
3 a20050113
4 a20050114
5 a20050115
表B记录如下:
ID Name
1 2006032401
2 2006032402
3 2006032403
4 2006032404
8 2006032408
语句:select * from A left join B on A.ID = B.ID;
结果如下:
ID Num ID Name
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
5 a20050115 NULL NULL
(所影响的行数为 5 行)

 

left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的。换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID)。B表记录不足的地方均为NULL。
 
SQL语句:select * from A right join B on A.aID = B.bID;
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
NULL NULL 8 2006032408
(所影响的行数为 5 行)
结果说明:
right join是以B表的记录为基础的,A可以看成左表,B可以看成右表,right join是以右表为准的。换句话说,右表(B)的记录将会全部表示出来,而左表(A)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID)。A表记录不足的地方均为NULL。
 
SQL语句:select * from A inner join B on A.aID = B.bID;
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
(所影响的行数为 5 行)
结果说明:
inner join是只显示右表(B)和左表(A)都符合搜索条件的记录(例子中为: A.aID = B.bID)。

笔试复习题《三》

原文:http://www.cnblogs.com/abc8023/p/3975457.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!