您的位置:首页 > sql server
sql server 标签下有 166 篇文章

SQL join中on与where区别

420次阅读|455次收藏|254次赞

数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。例如在使用left jion时,on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录;where条件是在临时表生成好后,再对临时表进行过滤的条件。

with(nolock)的用法

470次阅读|82次收藏|135次赞

要提升SQL的查询效能,一般来说大家会以建立索引(index)为第一考虑。其实除了index的建立之外,当我们在下SQL Command时,在语法中加一段WITH (NOLOCK)可以改善在线大量查询的环境中数据集被LOCK的现象藉此改善查询的效能。不过有一点千万要注意的就是,WITH (NOLOCK)的SQL SELECT有可能会造成Dirty Read。

SQL中case when的用法

1570次阅读|137次收藏|442次赞

SQL中CASE表示计算条件列表并返回多个可能结果表达式之一。 CASE 可能是 SQL 中被误用最多的关键字之一。虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法。例如,你可以在 WHERE 子句中使用 CASE。

SQL中的注释

48次阅读|0次收藏|0次赞

当你的SQL语句集合变得越来越大而非常复杂时,你需要对你的语句进行注释。你可以使用两种方法在你的语句中添加注释。假如你需要添加单行的注释时,你可以在一行后使用两个连字符

常用SQL查询语句

352次阅读|11次收藏|352次赞

SQL有着非常强大且灵活的查询方式,在查询中通常会遇到子查询、分组、排序、分页及其它复杂的查询。常用的查询关键字有select、from、on、join、where、group by、cube|rollup、having、distinct、orderby、top

如何降低SQL语句复杂度

236次阅读|339次收藏|496次赞

项目中如果一条SQL语句太长,太复杂,出现错误的机会就会更大,而且以后维护起来也复杂,不灵活。这个时候需要我们将业务逻辑细化,拆分成小的版块,用简洁的SQL语句代替。下面介绍可以通过哪些方法可以降低SQL语句复杂度

SQL语句中的乘号处理

193次阅读|20次收藏|243次赞

在编程项目中,我们需要在SQL语句中使用乘法运算,可是添加'*'以后执行程序总是会出错,这是因为'*'与sql中的'*'关键字重合了,所以编译会出错。下面介绍如何处理SQL语句中的乘号

sql stuff 函数

176次阅读|378次收藏|341次赞

sql stuff函数用于删除指定长度的字符,并可以在制定的起点处插入另一组字符。sql stuff函数中如果开始位置或长度值是负数,或者如果开始位置大于第一个字符串的长度,将返回空字符串。如果要删除的长度大于第一个字符串的长度,将删除到第一个字符串中的第一个字符。

SQL语句中单引号

382次阅读|498次收藏|455次赞

在执行sql语句的时候,如果where条件中含有单引号,该如何处理呢?SQL Server中,默认情况下, '是字符串的边界符, 如果在字符串中包含', 则必须使用两个', 第1个'就是转义符。

Sql的decimal、float、double类型的区别

24513次阅读|133次收藏|168次赞

decimal(numeric)、double、float(real) 都是SQL中的浮点类型的数据类型。FLOAT数值类型用于表示单精度浮点数值,DOUBLE数值类型用于表示双精度浮点数值,而decimal用法更灵活

sql 多列求和 当某列有null值时的处理

77次阅读|319次收藏|215次赞

在数据库应用中,有时需要用SQL语句计算每行记录的几列求和,然后组合成新的一列返回,我们很容易想到的是,将这几列相加即可,但是,如果某行记录的这几列有一列是NULL值,那么这条记录相加值为Null,下面介绍处理方法。

SQL中的运算符

45次阅读|0次收藏|1次赞

运算符用来执行列、常量或变量之间的数学运算和比较操作。在Transact-SQL语言中的运算符分为算术运算符、位运算符、比较运算符、逻辑运算符、联接运算符和赋值运算符等。

SQL Union和Union All的用法和区别

39次阅读|474次收藏|343次赞

SQL中UNION和Union All指令的目的是将两个SQL语句的结果合并起来。union和Union All只是将两个结果联结起来一起显示,并不是联结两个表。区别是:union是集合中的并集运算,即把所有的查询结果并集处理,而union all表示无论多条结果中有无重复都将各自的结果相加,而不删除其中重复部分。

如何使用HttpModule实现sql防注入

501次阅读|182次收藏|447次赞

SQL注入是被谈的很多的一个话题,有很多的方法能够实现SQL的防注入,防注入程序其实就是处理Http请求,把Get和Post的请求数据做过滤,在.NET中HttpModule帮我们实现了类似于ISAPI Filter的功能,下面简单说一下如何使用HttpModule来实现SQL的防注入。

SQL语句的几个好习惯

119次阅读|347次收藏|319次赞

sql 语句就是对数据库进行操作的一种语言,各种不同的数据库对SQL语言的支持与标准存在着细微的不同,SQL语言基本上独立于数据库本身、使用的机器、网络、操作系统,基于SQL的DBMS产品可以运行在从个人机、工作站到基于局域网、小型机和大型机的各种计算机系统上,具有良好的可移植性。由于SQL语句的编写多样化,那么如何写出高效、易懂、易维护的SQL语句呢?下面介绍SQL语句的几个好习惯。

优化SQL语句,提高数据库的访问性能

278次阅读|161次收藏|494次赞

随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的SQL语句,提高系统的可用性。

left join on 查询

143次阅读|112次收藏|498次赞

left join on 即左连接,把left join左边的表的记录全部找出来。这样连接的话,系统会先用表A和表B做个笛卡儿积,然后以表A为基表,去掉笛卡儿积中表A部分为NULL的记录。最后形成你的结果。进行左连接时,就有涉及到主表、辅表,这时主表条件写在WHERE之后,辅表条件写在ON后面。

EXEC和sp_executesql的区别

514次阅读|345次收藏|166次赞

MSSQL为我们提供了两种动态执行SQL语句的命令,分别是 EXEC 和SP_EXECUTESQL 。sp_executesql提供了输入输出接口,而EXEC没有;利用sp_executesql,能够重用执行计划,这就大大提供了执行性能(对于这个我在后面的例子中会详加说明),还可以编写更安全的代码。EXEC在某些情况下会更灵活。

SQL中哪些情况会引起全表扫描

2485次阅读|137次收藏|445次赞

大家都知道,用SQL语句对数据库进行操作时,如果引起全表扫描会对数据库的性能形成影响,下面向大家简单介绍SQL中哪些情况会引起全表扫描。

select into from 和 insert into select 的用法和区别

44292次阅读|453次收藏|43次赞

Insert是T-sql中常用语句,但我们在开发中经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了

您最近浏览过的文章