SQL多表查询

多表数据库是不可避免的,比如电子商务中客户表,商品表,价格表,订单表等如果只用一个表将会很蛋疼。

然而多表查询如果用多个RecordSet将大量消耗资源,尤其是asp等脚本,我们用ACCESS举例如何进行多

表查询吧。

 

ACCESS虽小,可以看做只是一个文件,很灵活地跟U盘走到任何位置,供调试使用,而且在安装有ODBC的

WINDOWS系统一般都能操作它,然而麻雀虽小,五脏俱全,ACCESS具备标准数据库的所有功能。

 

我们新建一个数据库,保存为db1,设计四个表:

 

1.课程表

 

2.成绩表

 

3.学生表

 

*这三个表的数据为

 

4.信息表

 

*信息表的数据为

 

然后,我们要用ACCESS执行SQL,你可以使用查询视图,但是我们这里说的是SQL语句,毕竟程序去点按钮

是不现实的:

 

1.在查询视图,新建一个查询,点确定

 

2.出来的对话框点关闭

 

3.在上方空白处【右键】,选择【SQL视图】

 

我们执行三个查询:

 

1.查询所有激活学生的信息
SELECT S.sID, S.sName, I.iSID, I.iSex, I.iAge
FROM T_STUD AS S INNER JOIN T_INFO AS I ON I.iSID=S.sID
WHERE S.sValid <> 0 ORDER BY S.sID

 

2.查询张三的学生信息
SELECT S.sID, S.sName, I.iSID, I.iSex, I.iAge
FROM T_STUD AS S INNER JOIN T_INFO AS I ON I.iSID=S.sID
WHERE S.sValid<>0 And S.sID=1;


3.查询所有科目考试成绩
SELECT S.sID, S.sName, C.cID, C.cName, M.mSID, M.mCID, m.mValue
FROM (T_MARK AS M INNER JOIN T_STUD AS S ON S.sID=M.mSID) INNER JOIN T_COUR AS C ON M.mCID=C.cID
ORDER BY S.sID, C.cID;

 

以上语句的 【表 AS X】 的【AS】可以省略,不用于显示,只用于条件的字段,在SELECT可以省略。

至于多表更新,只要给RecordSet的字段赋值,然后调用UpDate方法即可,当然需要你的查询可更新

如 rs.open sql,conn,1,3 试着运行看看吧

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值