SQL Server 2012 T-SQL 基础教程--读书
文章平均质量分 89
Annx
与专业的人为伍,持续学习
展开
-
SQL逻辑查询语句执行顺序
SELECT empid, OrderYear=YEAR(orderdate), Numbers=COUNT(*)FROM Sales.OrdersWHERE custid=71GROUP BY empid, YEAR(orderdate)HAVING COUNT(*)>1ORDER BY empid, OrderYear SQL逻辑查询语句执行顺序FROMWHER...原创 2018-07-16 14:24:32 · 1062 阅读 · 0 评论 -
CAS表达式、SQL运算符、NULL标记、同时操作
CASE表达式CASE 表达式是一个标量表达式,返回一个基于条件逻辑的值。CASE 表达式具有“简单”和“搜索”两种格式。 CASE 简单格式在 CASE 关键字后具有单个测试值或表达式,与 WHEN 子句中的可能值列表进行比较,并返回第一个匹配值。如果列表中没有值等于测试值,CASE 表达式返回 ELSE 子句中的值。如果 CASE 表达式没有 ELSE 子句,则默认为 ELSE NULL...原创 2018-07-17 10:28:43 · 344 阅读 · 0 评论 -
SQL字符数据的查询操作
字符数据类型SQL Server 支持两种字符数据类型——常规和 Unicode。常规数据类型包括 CHAR 和 VARCHAR,Unicode 数据类型包括 NCHAR 和 NVARCHAR。原创 2018-07-21 17:57:06 · 5389 阅读 · 0 评论 -
表表达式
表表达式(Table Expression)是一个命名的查询表达式,代表一个有效的关系表。Microsoft SQL Server支持4种类型的表表达式:派生表、公用表表达式(CTE)、视图和内嵌表值函数(内嵌TVF)。 有效定义任何类型表表达式的查询必须满足3个要求: 1. 无法保证顺序。表表达式用于代表一个关系表,并且关系表中的行无法保证顺序。因此,标准 SQL 不允许 ORDER BY ...原创 2018-08-10 17:36:51 · 834 阅读 · 0 评论 -
日期和时间
日期范围筛选筛选日期范围时很自然的会想到 YEAR、MONTH 函数。例如筛选2017年2月创建的公司:SELECT Name, CreateTime FROM Companies WHERE YEAR(CreateTime)=2017 AND MONTH(CreateTime)=2但是,在筛选列上应用操作时,SQL Server 不能以有效方式使用索引,而进行全表扫描。我们应尽量避免...原创 2018-08-02 10:02:38 · 2936 阅读 · 0 评论 -
联接(CROSS JOIN、JOIN、OUTER JOIN)
JOIN 表运算符对两个输入表进行操作。联接的类型有交叉联接、内部联接和外部联接,它们的区别在于如何应用逻辑查询处理阶段。交叉联接仅应用一个阶段——笛卡尔乘积,内部联接应用两个阶段——笛卡尔乘积和筛选,外部联接应用三个阶段——笛卡尔乘积、筛选和添加外部行。交叉联接(CROSS JOIN)交叉联接仅执行一个逻辑查询处理阶段——笛卡尔乘积,这一阶段对提供的两个输入表进行操作,联接并生成两个...原创 2018-08-07 15:16:38 · 1091 阅读 · 0 评论 -
子查询
子查询SQL 支持嵌套查询(在查询内编写查询)。子查询(内部查询)的查询结果集被用于外部查询,外部查询的查询结果集返回给调用者。子查询分为自包含子查询和相关子查询,自包含子查询不依赖于其所属的外部查询,相关子查询依赖于外部查询。子查询可以返回单个值(标量值)、多个值或是整个表结果。自包含标量子查询标量子查询是返回单个值的子查询——不管其是否是自包含的。这样的子查询可以出现在外部查询中单...原创 2018-08-08 09:14:34 · 273 阅读 · 0 评论