sql 常用
公司组织SQL水平考试,看了写教材,写了点总结发上来跟大家分享。
我公司使用的是Sybase ASE12.5,所以下面的一些特性是针对Sybase ASE的。
一:SQL Bisic
1:SQL(Structured Quary Language)特性:
a:标准化
b:非过程化的
c:可优化的
d:面向集合操作的
2:ASE中的数据类型
a:Numberic
b:Character
c:Date/Time
d:Lobs
3: convert(varchar, textColumn),如果不指定varchar(n)n那么默认是30
4:where 在sql中的作用
a:过滤数据
b:做表连接(sql92以前)
c:选择索引
5:whare 和 having的区别
where语句把过滤好的数据插入到work table中
having语句从work table中对数据进行在过滤以得到最后的结果。
6:一个select语句的执行顺序
a:from clause
b:where clause
c:group by clause
d:select clause
e:having clause
f:order by clause
7:Union VS Union All
a:Union 会把两个结果集排序,并且除去重复的元素(效率差,轻易不要用)
b:Union All仅仅是把两个结果集合并,没有排序,也不去除重复元素(效率好)
二:索引和查询参数
1:ASE中有三种access数据方式
a:clustered Index
b:nonclustered Index
c:table scan
2:Covered Query
一个Covered Query 仅仅从索引中得到数据,不用去扫描数据库表,这是最快的数据查询方式。
限制1:只能在selece中生效
限制2:所有被引用的列必须在同一个nonclustered index中
3:functional index
在ASE15.0以后才被支持,也就是说在ASE15.0以前的版本,下列语句是可定不会用上索引的
sql 代码
select column1
from table1
where upper(column2) = 'IVANL'
4:如何查看执行计划
sql 代码
set showplan on
go
your sql
go
set showplan off
go
5: 如何查看IO
sql 代码
set statistics io on
set statistics time on
go
you sql
go
set statistics io off
set statistics time off
go
6:使用Index的建议
a:使用那些经常在where语句中使用的字段做index
b
相关文档:
SQL Server7.0数据库:数据仓库、数据复制、分布式数据库应用程序、Intelnet和Intranet应用和管理工具;
安装检测:1、net start mssqlsever;
2、osql /usa /p ;
......
在SQL SERVER 2005/2008中拥有一个对象
从SQL SERVER2000升级到2005/2008后,一个我们必须重新认识的情况是对象不再有所有者(owner)。架构包含对象,架构有所有者。如果你查询表sys.objects,你将会看到这看起来是正确的,只是表中还有一个字段principal_id,但是一般情况下它总是NULL值。不久前一天,我突然对principal ......
我说的不定条件是指查询条件的个数不定。有时一个,有时两个,有时好几个。
首先我发现
select * from A where a='kkk' 与
select * from A where a like 'kkk'
其实效果是一样,只要 like 后面的字符串不包含通配符。这样一来就很方便了。譬如有
select * from A where a='KKK' and b='LLL'
有两个查询条件, ......
**************************************
**** sql 查询备忘 &nb ......