多表查询的方法

多表查询涉及的都是一些有一定联系的表,例如学生的情况表(包括学号,姓名,性别等)和班级情况表。如果只是简单的查询一个表中的某个属性值则直接使用select、、、、from语句即可,但是在查询时往往需要涉及多个表,因为在这些表中都有涉及相关的字段来源,这些表之间的关系大多通过外键来连接,例如,学生情况表中的学号主键,可以为班级情况表的外部键,他们通过学号ID来连接。下面介绍两种多表查询的方法。

方法一:利用and来连接,现在需要查询牛秀明所在班级的名称,首先我们应该在表mag_emp(学生情况表)通过姓名找到对应班级的编号,然后再到表mag_dept(班级情况表)中通过班级的编号找到对应班级的名称。实现这一操作命令的代码为:

Select depname

From mag_dept,mag_emp

Where mag_dept.depid=mag_emp.depid and empname=’牛秀明

使用这种方法比较繁琐,因为一旦涉及的表很多,占用的资源也就会越大,因为需要很多个and关系的连接。

方法二:嵌套查询。使用嵌套查询时我们不是把条件表示为一个表达式,而是要以一个查询的结果上一个查询的筛选条件。还是上一个例子,查询牛秀明所在的班级名称。代码应该这样实现:

Select depname from mag_dept

Where depid=

(select depid from mag_emp

Where empneme=’牛秀明’)

这段时间学习SQL server 说实话遇到了很多很多的困难,不提别的就连安装DBMS都出现很多问题,先是选择安装sql server2000可是只安装上了客户端,无法连接服务器,后来又下载了sql server 2005可以安装过程中还是不行,先是解决IIS服务信息,后来又是与当前的操作系统不兼容,其实windows7最好还是安装sql server 2008,这时最新的版本,跟win7都兼容,而20000,05一般需要在03的操作系统上才能很好的运行。虽然步伐很慢,但这就是发现问题的过程,我相信自己一定可以走下去,就像画数据流程图一样,当我们把一个很复杂的关系模式,通过一层一层的调理分析,画出E-R图,然后再通过1NF,2NF,3NF、、一直走下去,直到得到一个最简单直接的关系模式。人生也是这样,不要让眼前的这些困难吓到,只要踏踏实实,一步一步分解,我相信再复杂的人生也可以迎刃而解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值