随笔分类 - 【 SQL 相关】
摘要:[toc] 1、事故现场 1.1 在使用 Insert into Table2 select from Table1 将表1的数据插入到表2时,报错如下: 子查询返回的值不止一个。当子查询跟随在 =、!=、、 = 之后,或子查询用作表达式时,这种情况是不允许的 1.2 sql 语句 2、推测 当Ta
阅读全文
摘要:#使用场景: 1、在创建表之前,需要先判断该表是否已经存在; 2、在删除表之前,需要先判断该表是否已经存在; #方法总结: 1、判断实体表是否存在的方法: 1)、方法一: 2)、方法二: 2、判断临时表是否存在的方法: 1)、方法一: 2)、方法二: ————————————————————————
阅读全文
摘要:sql update 多表关联更新方法总结
阅读全文
摘要:#用法说明 A :为分组字段 B:为分组后的排序字段。 table 表的结构 多为: 多人 多条的相关数据。(比如:订单信息) 此条sql语句,多用于对数据进行分组排序,并对每个组中的数据分别进行编号,编号从1开始递增,每个组内的编号不会重复; #经典实例 0、填充数据 1、使用row_number
阅读全文
摘要:SQL SERVER 递归查询
阅读全文
摘要:INSERT INTO SELECT语句与SELECT INTO FROM语句,都是将一个结果集插入到一个表中;
阅读全文
摘要:在使用left jion时,on和where条件的区别如下:
1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。
阅读全文
摘要:参考: 1、SQL查询语句 group by后, 字符串合并 2、sql for xml path用法 #需求: #解决方法: 1、传统方法:创建处理函数(sql server 2000只能用该方法) 2、新的解决方法:利用for xml path(sql server 2005及更高版本)
阅读全文
摘要:1、一般情况下删除表数据的sql语句: 2、如果想给表起个别名再删除呢,就得像下面这样写了 也可这样 3、想一下,什么情况下删除一个表数据的时候要用别名呢? 之所以要用别名,是因为delete的where条件中需要用到子查询写一些条件,举例: 利用自连接删除表中重复的数据: 4、其他数据库的情况 O
阅读全文
摘要:计算列区别于需要我们手动或者程序给予赋值的列,它的值来源于该表中其它列的计算值。比如,一个表中包含有数量列Number与单价列Price,我们就可以创建计算列金额Amount来表示数量*单价的结果值,创建Amount列后,在程序中需要使用计算金额这个值时,就不用取出Number列与Price列的值后
阅读全文
摘要:#五大约束 1、主键约束(Primay Key Coustraint) 唯一性,非空性 2、唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个 3、检查约束 (Check Counstraint)对该列数据的范围、格式的限制(如:年龄、性别等) 4、默认约束 (Defau
阅读全文
摘要:#背景 向sqlserver数据库中一个datetime字段插入DateTime.MinValue时, 出现问题: SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间 #错误原因 当传给数据库的时间类型的值为NULL
阅读全文
摘要:参考:SQL Server的日期和时间类型 SQL Server使用 Date 表示日期,time表示时间,使用datetime和datetime2表示日期和时间。 1、秒的精度 秒的精度是指TSQL使用多少位小数,DateTime数据类型秒的精度是3,DateTime2和Time可以控制秒的精度,
阅读全文