现在A,B两表
A:
学生基本信息,StudentNO,StudentName
B:
学生成绩表
StudentNO,Score要求把两表连接起来.
注意:A表中有的记录可能B表中没有.
比如:A表:
0001 张三
0002 李四
0003 王五
0004 赵六
0005 钱七B表
0001 90
0005 80
要求:不管什么情况,
1、A表有多少条记录,那么连接后就要有多少条记录(不能多也不能少)
2、如果有的学生没成绩,那么Score可以用 Null 代替
3、再请您把 Left outer ,right outer的区别讲一下,还有union all ,特别请告诉我,两表连接时要以A表记录为准时,要注意什么事项
A:
学生基本信息,StudentNO,StudentName
B:
学生成绩表
StudentNO,Score要求把两表连接起来.
注意:A表中有的记录可能B表中没有.
比如:A表:
0001 张三
0002 李四
0003 王五
0004 赵六
0005 钱七B表
0001 90
0005 80
要求:不管什么情况,
1、A表有多少条记录,那么连接后就要有多少条记录(不能多也不能少)
2、如果有的学生没成绩,那么Score可以用 Null 代替
3、再请您把 Left outer ,right outer的区别讲一下,还有union all ,特别请告诉我,两表连接时要以A表记录为准时,要注意什么事项
解决方案 »
- 【提问】关于建立线程的消息队列
- 高价求DELPHI开发的ERP源码
- StringGrid到底可不可以和Edit一样可以输入信息然后保存到数据库表里啊?
- 网管帮手。远程重启工具。
- 怎样把sql2000的数据库备份到客户机上
- 怎样用回车实现在DBGrid中向右移动,就象按Tab键一样?
- 需要汽车售票系统的需求开发文档或demo?源码更好!
- chechy,老鱼,老千,小新,老龟,x空间,凡是认识 牛虻 的,请来留个qq,方便联系,多谢//牛虻
- 菜鸟问题(4):哪位仁兄做过进销存软件,给个例子好吗?
- 让我的delphi程序在别台机器上跑起来?
- Delphi擂台赛第一期结果揭晓
- Access数据库的问题!
Select StudentNO from bs_Student
--------------------------
StudentNO
---------------
200002000100101
200002000100102
200002000100103
200501001001
200501001004
200501001012
20050100105
20050100114
20050100115
2005010021
2005010022
2005010033
666(13 row(s) affected)语句二
Select StudentNO,Score from cj_ScoreDetail
-------------------------------------
StudentNO Score
--------------- --------------------
200501001001 50.00
200501001012 .00
20050100105 .00
20050100114 .00
20050100115 .00
666 .00
200501001001 11.00
200501001012 22.00
20050100105 33.00
20050100114 44.00
20050100115 55.00
666 66.00
999 NULL(13 row(s) affected)
语句三
连接操作************************
Select * from
(
Select StudentNO
from bs_Student a
) T1
left outer join(
Select Score,StudentNO from cj_ScoreDetail b
) T2
On t1.StudentNO=t2.StudentNO---------------------------
StudentNO Score StudentNO
--------------- -------------------- ---------------
200002000100101 NULL NULL
200002000100102 NULL NULL
200002000100103 NULL NULL
200501001001 50.00 200501001001
200501001001 11.00 200501001001
200501001004 NULL NULL
200501001012 .00 200501001012
200501001012 22.00 200501001012
20050100105 .00 20050100105
20050100105 33.00 20050100105
20050100114 .00 20050100114
20050100114 44.00 20050100114
20050100115 .00 20050100115
20050100115 55.00 20050100115
2005010021 NULL NULL
2005010022 NULL NULL
2005010033 NULL NULL
666 .00 666
666 66.00 666(19 row(s) affected)
************************
**************************
左联接就是显示所有左边的数据,尽管右边的在满足联接条件下没有数据,如果右边在联接条件有多条数据,则会左边的数据会重复显示;右联接反过来.