SQL 查询“仅仅”至少“全部”的问题
“全部的问题”在上一篇中已经写过一点了。
“仅仅”
:这个问题可以使用多表连接来处理。例如:查询仅仅选修了课程A和课程B的学生的信息,sql如下:
其中表student定义了学生的信息。transcript定义了学生的选课情况。crscode字段表示课程代码。
select s.id
from student s,transcript t1,transcript t2
where s.id = t1.studid and t1.studid = t2.studid
and t1.crscode = 'cs305' and t2.crscode = 'mgt123'
这里是三个表的连接。
“至少”:至少的问题,如果
至少的内容是预先知道的,如:查询至少选修了课程A和B的学生,这样也是可以使用多表连接的。
sql如下:
select t1.studid
from transcript t1,transcript t2,student s
where t1.crscode = 'cs305' and t2.crscode = 'cs315' and s.id = t1.studid and t1.studid = t2.studid
但是如果
至少的内容事先是不知道的,就不能用多表连接了。如:查询至少选修了学生S选修的课程的学生。就是说学生S选修了一些课程,
查查看哪些学生的选课中包含
这些课程的。很显然sql中没有”包含“这样的谓词。但是可以将这个需求转换为其他的描述方式:
不存在这样的课程,学生S选了,但是该学生
没有选。
这里红字的”该学生“就是我们要查询出来的内容。
sql如下:
相关文档:
摘 要:本文讨论了Oracle和SQL Server的在事务处理上的区别,并分析了其实现机制的差异。
关键词:Oracle;SQL Server;事务;事务隔离级别;DDL。
事务处理是所有大型数据库产品的一个关键问题,各数据库厂商都在这个方面花费了很大精力,不同的事务处理方式会导致数据库性能和功能上的巨大差异。
事务处理也是数据库管 ......
asp.net 将Excel导入到Sql2005或2000的思路和步骤:
1、将Excel文件上传到服务器端
这个我不想详细讲了,网上一搜一大把的.
注意:(1在取服务器路径时一定要用this.Page.MapPath(".")而不要用 this.Page.Request.Applic ......
SQL SERVER维护着一组表,存储所有对象,数据类型,约束,配置选项及SQL能访问的资源,这些表称为系统目录(系统基本表).
我们在SQL SERVER2005里有很多种方法来访问元数据.一般是使用目录视图和系统函数,信息架构视图只能包含它们全部的一部分.
最佳接口:目录视图
目录视图都位于SYS架构下,包括了动态管理对象(DMV和DM ......
char、varchar、text和nchar、nvarchar、ntext
char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定
的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变 ......