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题(见附录)。
我觉得受益很多,在此之前,我一直觉得,SQL2008似乎提供了这方面的支持,但更低的版本,包括2005,非游标做不出来(水平够菜)。总结心得如下:
1、 强大的group by
1 select stdname,
2 isnull(sum( ......
最近刚学会在VB2008 中使用参数化SQL语句,于是马上用到代码中,却碰到查不到任何数据的情况,纠结了好几天,还是没有搞明白,差点吐血。不得已还是先在代码中使用字符串拼接的SQL语句。
包含参数化SQL语句的代码如下:
Dim cmSl As N ......
SqlServer 的性能比 Access 提高的不止一点了。
不过,科汛CMS的免费版带的是 Access 数据库。
有没有办法转成 mssql 的呢?当然可以
1, mssql中新建一张表,然后导入 access 里面的表和数据.
这个网上有方法,不多说了。
2, 修改 conn.asp 到 sql server 版本,这个也简单。
3, 浏览数据,直接就可以看 ......
很多时候我们可能都需要这么一个简繁互相转换的SQL函数,今天在网上找到的,收集下来。
以后有了它就省事多啦。不用再写程序取出来转换后再更新数据库了。
SQL简体繁体转换函数代码:
--生成码表
if exists (select * from dbo.sysobjects where id = object_id(N'[codetable]') and OBJECTPROPERTY(id, N'IsUserTable' ......
SQL注入攻击的危害性很大。在讲解其防止办法之前,数据库管理员有必要先了解一下其攻击的原理。这有利于管理员采取有针对性的防治措施。
一、 SQL注入攻击的简单示例。
statement := "SELECT * from Users WHERE Value= " + a_variable + "
上面这条语句是很普通的一条SQL语句,他主要实 ......