原文:SQLServer 2008 技术内幕--T-SQL 查询 笔记 1.SQL编程有许多独特之处,如:面向集合的思维方式.查询元素的逻辑处理顺序.三值逻辑.如果不掌握这些知识就开始用SQL编程,得到的将是冗余的.性能低下的代码,而且难以维护. 2.在SQLServer中负责生成实际工作计划(执行计划)的组件是:查询优化器(query optimizer).只有在确保结果集正确的前提下,优化器才会走捷径.明确区分查询的逻辑处理和物理处理是非常重要的. 3.逻辑查询的各个阶段: (5) SELE…
与大多数语言一样,SQL语言也有一个执行顺序,只是在大多数编程语言中,代码是按照编写顺序来处理的,而在SQL中则不是,下图为SQL 执行顺序. () ) [ ALL | DISTINCT ] () [TOP ( expression ) [PERCENT] [ WITH TIES ] () < select_list > --[ INTO new_table ] () -J ) < left_table> <join_type> join <right_table…
logical operation:基于微软查询处理概念模型的逻辑操作.例如,联接运算符的physical operation属性表示联接算法(nested loops,merge ,hash)物理运算符 logical operation属性表示逻辑联接类型(Inner join,outer join,semi join 等等)逻辑运算符 如果没有与该运算符关联的逻辑操作,则这项度量的值与physical operation相同 actual number of rows:从该运算符实际返回的…
续 2008技术内幕:T-SQL语言基础 单表查询摘记 第三章 联接查询 Microsoft SQL Server 2008 支持四种表运算符 join(ANSI标准).apply(T-SQL扩展).pivot(T-SQL扩展).unpivot(T-SQL扩展). (ANSI SQL是美国国家标准学会(ANSI) 对SQL进行规范化后的国际标准SQL语言,T-SQL是Microsoft SQL Server基于ANSI SQL做了一些扩展形成的专用SQL语言.) join表运算符对两个输入表进行…
这里的摘抄来自<Microsoft SQL Server 2008技术内幕:T-SQL语言基础>,书中用到的案例数据库是这个 TSQLFundamentals2008 ,官网给出的连接是这个(貌似有的要穿墙), 冠军也有一份. 第一章 T-SQL查询和编程基础 SQL (Structured Query Language) 为查询和管理关系型数据库管理系统(RDBMS--Relational Database Management System)中的数据而专门设计的一种标准语言. RDBMS是…
<[MySQL技术内幕:SQL编程>读书笔记 2019年3月31日23:12:11 严禁转载!!! <MySQL技术内幕:SQL编程>这本书是我比较喜欢的一位国内作者姜承尧, 早年在学mysql时就听过姜老师的开源mysql网络视频教程, 记得在视频时总是姜老师姜老师的自称, 感到十分的亲切. 这本书主要是讲mysql在应用编程时如何正确并且更高效的根据业务场景编写相应的sql语句. 从一开始对mysql的历史, 数据库类型, 分支版本, 咋一看, 还挺熟悉的, 这个逻辑顺序不就是…
2008技术内幕:T-SQL语言基础 单表查询摘记 这里的摘抄来自<Microsoft SQL Server 2008技术内幕:T-SQL语言基础>,书中用到的案例数据库是这个 TSQLFundamentals2008 ,官网给出的连接是这个(貌似有的要穿墙), 冠军也有一份. 第一章 T-SQL查询和编程基础 SQL (Structured Query Language) 为查询和管理关系型数据库管理系统(RDBMS--Relational Database Management Syste…
第一章 TSQL编程基础 源代码下载:TSQLFundamentals2008 创建表 USE testdb; CREATE TABLE dbo.Employess ( empid INT NOT NULL, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, hiredate DATE NOT NULL, mgrid INT NULL, ssn VARCHAR(20) NOT NULL, salary MONEY NOT…
2.1 类型属性 2.1.1 UNSIGNED 数字无符号化, INT的值 -2147483648 ~ 2147483647  INT UNSIGNED的值 0 ~ 4294967295 int a = 1; int b = 2; a-b=-1 unsigned a = 1; unsigned b = 2; a-b=4294967295(Linux) Mac 报错  如果想要得到-1 mysql> SET sql_mode='NO_UNSIGNED_SUBTRACTION'; 2.1.2 ZER…
第4章 子查询 4.2.1 Exist 谓语: use TSQLFundamentals2008 select * from Sales.Customers as C where c.country=N'Spain' select * from Sales.Customers as C where c.country=N'Spain' and exists(select * from Sales.Orders as O where o.custid=C.custid) select * from…