摘要:
如果想返问表中行的子集,仅需要返回特定数量的记录,而不管符合条件的行有多少。要返回排在前面的值,可以有两个选择:指定固定数量的行,或者指定总行数的百分比。SQL Server不对这些数据做任何分析,共至在截断列表时,也不会考虑这些值是不是已经排过序。 1. WITH TIES语句 用WITH TIES可以把所有和最后一行相同的己排序记录都加到结果集中。 SELECT TOP 10 WITH TIE... 阅读全文
摘要:
NOT运算符不是独立的,它是一个可以放在任何逻辑表达式前面的修饰符,能得到与结果相反的结果。所以,如果一个表达式是真,就会得到假;如果是假,就会得到真。有时测试查找条件的反面更容易。不过,NOT运算符通常效率比较低,因为SQL Server实际上将首先处理基本表达式(也许先返回所有符合条件的行),然后才提取出不包含在原结果中的行。 根据语句的复杂性和表中的行数,与构建一个选择出除了要忽略的记录之外... 阅读全文
摘要:
模式实际上是名称空间,因此在SQL Serve中调用数据库对象时,一定要设置对象引用的环境。每个用户都被赋予了一个默认模式,在用户登录SQL Server并凋用数据库对象时,这个默认模式就是对象引用方式的区别机制。 与许多其他数据库产品一样,SQL Server也使用模式来组织对象,所以理解如何正确地访问这些对象是很重要的。 其工作作原理如下:模式由数据库设计人员定义,实际上就是类别的名称,这些模... 阅读全文
摘要:
每一个概念的产生必然是因为碰到了无法解决的问题。换句话说,如果没有它,必然会导致某些问题难以解决。所以我想从这个角度切入,希望能把这几个复杂而暧昧的多角关系从最实用的角度来阐述清楚。 在问题的最初,我们假定的数据库什么都没有。数据库对象。首先,数据库对象是比较容易懂的。所有的表,视图,存储过程,触发器都称为数据库对象。 我们可以拿一个网站来做类比。一个网站包含很多的网页,图片,脚本文件,我们姑... 阅读全文
摘要:
SQL查询是引用表时,需要为其制定模式名。 在数据库的术语中,模式就是名称空间。这种方式可以把相同特性的对象组合到一个共同的名称空间中。模式也可以保护对象,所以DBA可以给模式授予显示权限。 例如,DBA可以给用户授予模式的SELECT权限,这样,用户就可以从该模式的任意表或视图中选择行了。SQL ... 阅读全文
摘要:
在应用程序中应避免使用 "select * from table",应明确列出列名.如果包含不需要的列,会造成不必要的磁盘I/O与网络传输。如果不明确列名的话,未经授权的用户可能接触敏感信息。在复杂的多表查询中,包含所有的列会造成冗余的列值,引起用户的误解。明确列名会使结果更容易预测和管理。 阅读全文