摘要:笛卡尔积: 笛卡尔积在SQL中的实现方式既是交叉连接(Cross Join)。所有连接方式都会先生成临时笛卡尔积表,笛卡尔积是关系代数里的一个概念,表示 第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。 参见下面的示例: DECLARE@TempTABLE(GroupIDINT,GroupNameVARCHAR(25),ItemNumbervarchar(25))INSERTINTO@TempSELECT1,'5805','27-196-018'UNIONSELECT1,'5805','27-196-019'UNIONS
阅读全文
摘要://片段1IFOBJECT_ID('tempdb..#TEMP')ISNOTNULLBEGINDROPTABLE#TEMPENDCREATETABLE#TEMP(titleVARCHAR(40),authorVARCHAR(40),priceVARCHAR(40))DECLARE@xmlDocXMLSET@xmlDoc='<books><bookid="0001"><title>C</title><author>David</author><price>21</
阅读全文
摘要:表变量:一种特殊的数据类型,用于存储结果集以供后续处理。该数据类型主要用于临时存储一组行,这些行将作为表值函数的结果集返回。 尽可能使用表变量而不使用临时表。table 变量有以下优点: ·表变量的行为类似于局部变量,有明确定义的作用域。该作用域为声明该变量的函数、存储过程或批处理。 在其作用域内,table 变量可像常规表那样使用。该变量可应用于 SELECT、INSERT、UPDATE 和 DELETE 语句中用到表或表的表达式的地方。但是,table 不能用在下列语句中: INSERT INTO table_variable EXEC 存储过程。 SELECT select_l
阅读全文