首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    T-SQL基础(一)之简单查询

    两值逻辑 与T-SQL中的大多数谓词不同,EXISTS使用两值逻辑(True/False),而不是三值逻辑; 在EXISTS( SELECT * FROM T_A WHERE Id=12)中,EXISTS...为节省微不足道的与星号(*)解析相关的额外成本,而牺牲代码可读性是不值得的。 NULL & Unknown NULL表示值是Unknown状态,SQL中不同的语言元素对于NULL有着不同的处理方式。...NULL GROUP BY和ORDER BY子句会将多个NULL值视为相等 标准SQL的UNIQUE约束认为NULL是为彼此不同 T-SQL中的UNIQUE约束认为多个NULL是相等的 COUNT(*)...几条建议: SQL中的关键字均使用大写字母 SQL语句均使用分号结尾 SQL中使用对象的完全限定名,如:DbName.dbo.TableName 查询语句执行顺序 SQL中查询语句的逻辑处理过程与实际查询过程...本文主要介绍了T-SQL查询的基础知识,对于较为复杂的查询,如:关联、表表达式、集合运算等将在后续文章中介绍。

    4.2K20

    SQL Server 性能优化之——T-SQL TVF和标量函数

    用临时表和相关的列替换每一个TVF。 在查询语句执行结束后,删除临时表。                 注意,临时表的性能提升是超过表参数,在上一篇博客中提到的,表参数不支持索引。 例子: a....标量函数 标量函数,对于确定存储过程或特定查询语句的聚合值、累计值、差分值非常方便的,但是对性能是有损失的,尤其使用大数据,标量函数将执行每一个记录。 3. 替代标量函数 1)....临时表 使用临时表,但是这个解决方案有一点不同于TVF的情况,这里希望完全放弃标量函数并且也不去直接使用内部T-SQL代码。 2)....持久化确定的计算列 持久化确定的计算列值不是每次选择都重新计算该列,而只是在创建时计算一次。因此,这时可以添加不同的T-SQL语句提高性能,因为这样可以减少进程的开销。...使用计划更新工作 如果不可能使用持久化确定的计算列,可以创建普通列并同时创建计划更新工作,更新这些列的标量函数输出,然后用T-SQL代替标量函数并且在T-SQL中使用这些列。具体如下: a.

    1.6K51

    那些年我们写过的T-SQL(上篇)

    赶脚俺弱小的智力已经完全无法记清楚常见的命令了,即使是用的最熟悉的T-SQL(SQL Server)。因此将最常见的T-SQL操作做个简单的总结,包括一些容易忽视的知识点和常见的开发样例。...本系列包含上中下三篇,内容比较驳杂,望大家耐心阅读: 那些年我们写过的T-SQL(上篇):上篇介绍查询的基础,包括基本查询的逻辑顺序、联接和子查询 那些年我们写过的T-SQL(中篇):中篇介绍表表达式、...此外关于SQL的一个非常关键的概念是,尽可能的使SQL语句进行的是整体的集合操作,而不是类似游标的循环迭代操作,这一点也是SQL优化的一个核心概念。...例如建立的组合索引为(name, time),那么如果查询中使用where time =xx and name = xx会造成索引不起作用,而造成全表扫描,当然由于内置查询优化器的存在,实际的查询可能与教科书上说的不同...为了之后能更好的理解该知识点,提前拿出来给大家见见面,本文下篇还会具体介绍 开窗函数的定义:对于一个查询中的每一行,按行的窗口组进行运算,并计算一个标量结果值,行的窗口使用OVER字句定义 SELECT

    3.2K100

    那些年我们写过的T-SQL(中篇)

    本系列包含上中下三篇,内容比较驳杂,望大家耐心阅读: 那些年我们写过的T-SQL(上篇):上篇介绍查询的基础,包括基本查询的逻辑顺序、联接和子查询 那些年我们写过的T-SQL(中篇):中篇介绍表表达式、...它与JOIN操作符最大的不同是右侧的表可以引用左侧表中的属性,例子如下。...集合操作符涉及的查询应该有相同列数,并对应列具有兼容类型(即低级别数据可以隐式的转化为高级别数据,如int->bigint),查询的列名称由第一次查询决定(在其中设置列别名)。...开窗函数 其根据基础查询的行子集计算,为子集中每行计算一个标量结果值,行子集被称为"窗口",通过OVER字句进行相关操作,简单来说以前对分组查询操作GROUP BY的粒度仅限于一个聚合函数(子查询操作也类似...,记得在上篇的子查询有写过一种"小于该值的最大值"的方式,这儿使用函数更加的简单。

    3.7K70

    详解SQL集合运算

    (7)用内联接或EXISTS谓词可以代替INTERSECT集合运算,但是必须对NULL进行处理,否则这两种方法对NULL值进行比较时,比较结果都是UNKNOWN,这样的行会被过滤掉。...(8)用左外联接或NOT EXISTS谓词可以代替INTERSECT集合运算,但是必须对NULL进行处理,否则这两种方法对NULL值进行比较时,比较结果都是UNKNOWN,这样的行会被过滤掉。...,如果custid或empid其中有null值存在,则不能用NOT EXISTS进行查询,因为比较NULL值的结果是UNKNOWN,这样的行用NOT EXISTS查询返回的子查询的行会被过滤掉,所以最后的外查询会多出...,如果custid或empid其中有null值存在,则不能用EXISTS进行查询,因为比较NULL值的结果是UNKNOWN,这样的行用EXISTS查询返回的子查询的行会被过滤掉,所以最后的外查询会少NULL...值的行,最后查询结果中会少NULL值的行。

    2.3K80

    使用VS.NET2003编写存储过程

    如果使用内置的特殊查询语句,就必须在每次运行该代码之前进行这种评估。对于那些供大量用户使用的应用程序而言,每分钟就可能需要对同一查询语句进行数百次评估。...更重要的是,应像在其他高级编程环境中那样访问 T-SQL 语言,而不是仅仅将其作为一种生成数据库查询的方式。...这些参数用于返回选定记录的值。使用一条记录的返回值要比返回带有所有字段的记录集合更为高效。 其次,您会发现用于检查 @AdminCode 参数值的 T-SQL 数据块,以确保传递正确的代码。...最后,如果输入变量都有效,存储过程将尝试选择记录并返回相应的值。如果此时发生任何错误,将由该过程的最后一行代码进行处理。...例如,我们的用户方案中就有一个方案要求列出某个问题的解答数目。解决此问题的方法之一是生成一个对问题的解答进行计数的子查询。另外一种方法是生成一个自定义函数,返回标量值并将其包含在问题查询中。

    2.2K20

    SQL 的云端大数据开发极速入门

    因此,在上一篇文章中,我们围绕着这个重要需求场景如何在Azure进行实现详细地展开了我们的探索。首先作为参照,我们在AWS环境中利用S3和Athena成功地对一个csv文件进行了SQL查询。...创建完成之后,就可以使用大家所熟悉的SQL Server Management Studio(SSMS)进行连接了,除了个别图标不同,其使用体验与传统SQL Server几乎完全一致。 ?...LOCATION中使用的wasb协议也印证了这一点,因为wasb本来就用于让Azure Blob存储挂载和融入到Hadoop体系中。...先做一个简单的计数: ? 嗯,颇为顺畅。再来一个与前篇文章相同的查询,这次使用T-SQL来表达: ? 也很快地返回了正确的结果。...小结 来自关系型数据库世界的PolyBase,赋能用户使用T-SQL直接访问查询Azure云存储中的数据文件,可谓神奇。

    1.3K20

    30分钟全面解析-SQL事务+隔离级别+阻塞+死锁

    【T-SQL基础】01.单表查询-几道sql查询题 【T-SQL基础】02.联接查询 【T-SQL基础】03.子查询 【T-SQL基础】04.表表达式-上篇 【T-SQL基础】04.表表达式-下篇 【T-SQL...一、事务 1.什么是事务 为单个工作单元而执行的一系列操作。如查询、修改数据、修改数据定义。...,则返回一个大于0的值。...c.多个事务可以在同一阶段用共享锁作用于同一数据资源。   d.在读取数据时,可以对如何处理锁定进行控制。后面隔离级别会讲到如何对锁定进行控制。...阶段1:事务A请求资源S1,事务不对资源S1进行操作 阶段2:事务A用锁A锁定资源S1,事务B请求对资源S1进行不兼容的锁定(锁B),锁B的请求被阻塞,事务B将进入等待状态 阶段3:事务A正在释放锁A,

    1.9K50

    浅谈 T-SQL高级查询

    进行类型转换、日期处理、数学计算、实现系统功能。...字符串在信息处理时有特殊的地位,几乎所有信息都需要转化成字符串才能正确显示,尤其是不同数据拼接起来显示的使用更加广泛。...聚合函数: 用于对一组值执行计算,并返回单个值 如:求总和、平均值、最大或最小值等 SUN:求总和、AVG:求平均数、MAX和MIN:返回最大最小值 COUNT:返回非空值的计数 查询表中所有员工基本工资的综合...使用 T-SQL 实现多表查询: ? 使用内联接在表A和表B中使用内联接查询学生姓名、学校和职业。...查询所有水果的名称和出厂日期,以特定格式拼接字符串,如:“西瓜的出厂日期是:2017/05/06” select 种类+'的出厂日期是:' +CONVERT(varchar(10),出厂日期,111)

    1.7K30

    如何高效的使用PowerShell备份数据库

    上面的脚本中使用where子句,这里我们可以使用Out-GridView -PassThru代替where,并保证结尾用一个“|”来结束。...如果使用了过滤栏,将会查询每一个展示名字中包含我输入的文字的数据库。为了精确查找,我们可以点击“Add Criteria”来选择过滤的字段,这样就能只过滤数据库的名字。 ?...接下来点击DW词条,会展示数据库查询后的结果,并高亮选中行。 ? 一旦点击ok,将会看到4个数据库被自动备份。 ?...注意:这是在PowerShell ISE中,其他的编辑器可能会有不同的弹出参数的的触发。比如我尝试了在PowerShell console 中需要用“Crtl”+空格键才会触发。...提供给大家一个比起T-sql更便捷的方式。同时可以用它来输出T-sql语句。

    2.5K60

    如何高效的使用PowerShell备份数据库

    上面的脚本中使用where子句,这里我们可以使用Out-GridView -PassThru代替where,并保证结尾用一个“|”来结束。...如果使用了过滤栏,将会查询每一个展示名字中包含我输入的文字的数据库。为了精确查找,我们可以点击“Add Criteria”来选择过滤的字段,这样就能只过滤数据库的名字。...接下来点击DW词条,会展示数据库查询后的结果,并高亮选中行。 一旦点击ok,将会看到4个数据库被自动备份。...再次返回最上面的备份例子中,如在备份指令后添加一个-CompressionOption参数,然后空格会显示几个可选参数,如on、off、default等, 注意:这是在PowerShell ISE中,其他的编辑器可能会有不同的弹出参数的的触发...提供给大家一个比起T-sql更便捷的方式。同时可以用它来输出T-sql语句。

    1.9K20

    Windows server 2016——SQL server T-SQL查询语句

    公众号:网络豆  座右铭:低头赶路,敬事如仪 个人主页: 网络豆的主页​​​​​ ---- 写在前面 本系列文章将会讲解SQL server 中 server T-SQL查询语句,并且会同步视频进行安装讲解...一.SQL简介 1.SQL和T-SQL SQL (结构化查询语言) 关系数据库的标准语言 非过程化语言 统一的语言 T-SQL是Transact-SQL的缩写,是SQL在Microsoft SQL Server...-- 二.使用T-SQL语句操作数据表 1.插入数据 insert [INTO] [列名] values 值列表> # 可选 必须 可选 如果省略[列名],值列表>与表中字段的顺序保持一致...多个列名和多个值列表用逗号分隔 例: 向employee表中插入一行数据 insert into employee (姓名, 身份证号, 职务, 出生日期, 基本工资) VALUES ('郭靖...= 不等于 BETWEEN 指定值的包含范围(包含边界),使用 And 分隔开始值和结束值 IS [Not] NULL 指定是否搜索空值或非空值 LIKE 模糊查询,与指定字符串进行模式匹配 IN 是否在数据范围里面

    25020

    那些年我们写过的T-SQL(下篇)

    此外,由于锁这部分知识比较复杂,不同的数据库厂商的实现也有不同,SQLSERVER除了我们常见的共享锁、排它锁(包括表级、页级、行级),意向锁,还有一些更复杂的锁,如自旋锁等,这部分内容会在之后的T-SQL...新增的序列对象是标准的SQL功能,它与标识列属性不同,是一个不会绑定到特定表中列的对象,需要时查询获取即可。...,用一个简单的表格来描述锁模式情况下锁的兼容性。...此外,T-SQL支持ALTER TABLE语句设置LOCK_ESCALATION控制锁升级行为,包括是否支持锁升级和发生升级时的粒度(如页升级为表或分区)。...那些年我们写过的T-SQL(上篇):上篇介绍查询的基础,包括基本查询的逻辑顺序、联接和子查询 那些年我们写过的T-SQL(中篇):中篇介绍表表达式、集合运算符和开窗函数 那些年我们写过的T-SQL(下篇

    2K50
    领券