-
学习SQL语句(强大的groupby与selectfrom模式)
强大的groupby复制代码代码如下:selectstdname,isnull(sum(casestdsubjectwhen'化学'thenResultend),0)[化学],isnull(sum(casestdsubjectwhen'数学'thenResultend),0)[数学],isnull(sum(casestdsubjectwhen'物理'thenResultend),0)[物理],isnull(sum(casestdsubjectwhen'语文'thenResultend),0)[语文]from#studentgroupbystdnamegroupby与sum+case结合,可以将表1中的记录(行)变成表2的字段(列)。Sum里面如果没有case,那么出来的值,只能是全部科目的总和,用了case以后,就是某科的成绩;然后这里用了好几个sum,每个科目一个sum,于是表1中本来某人某科占一条记录的“行”就变成了表2里某人一条记录,每科做一个字段了利用selectfrom(selectfrom)的模式生成SQL语句复制代码代码如下:declare@sqlvarchar(4000...
数据库操作教程 2022-09-23 20:31:24 -
distinct多列问题结合groupby的解决方法
表table1idRegNamePostionSNPersonSN1山东齐鲁制药22322山东齐鲁制药22423北京城建公司22524科技公司2252我想获得结果是idRegNamePostionSNPersonSN1山东齐鲁制药22323北京城建公司22524科技公司2252selectdistinctRegName,PostionSN...
数据库操作教程 2022-09-23 20:28:42 -
SQLServerBulkInsert只需要部分字段时的方法
根据一般做法的话,导出部分字段时没有办法生成格式化XML文件,所以导入时就没有办法格式化导入数据。我想到两点,1.手工修改格式化XML文件,2.创造一个能生成格式化XML文件的中间对象...
数据库操作教程 2022-09-23 20:28:19 -
sql语句返回主键SCOPE_IDENTITY()
在sql语句后使用SCOPE_IDENTITY()当然您也可以使用SELECT@@IDENTITY但是使用SELECT@@IDENTITY是去全局最新.有可能取得值不正确.示例:复制代码代码如下:insertintodbo.SNS_BlogData(userName)values('jiangyun');SELECTSCOPE_IDENTITY()获取SQL-SERVER数据库insertinto操作的主键返回值,SCOPE_IDENTITY插入一条记录后想要立刻获取其数据表中的主键返回值。这个主键是自动生成的,其实实现的方式有很多,比如再进行一次查询,获取出来...
数据库操作教程 2022-09-23 20:27:52 -
asp.net使用SqlBulkCopy极速插入数据到SQLServer
按这个来算,我们那个发水票的时间就会由10分钟-->20秒,这可太神奇了。于是乎,下demo,测试,改成自己一般使用的方法测试,NND,还真可以说是极速...
数据库操作教程 2022-09-23 20:24:20 -
sqlserver中向表中插入多行数据的insert语句
下面把在sql吧里一位高手的解决方法,公布下。供大家参考:假设有个表有学号、姓名、学校这三列然后向这个表中插入040501孙明山东大学040502李浩山东师范040503王刚烟台大学怎么插入这三行数据啊~~~~~~~复制代码代码如下:insert表名select'040504','孙明','山东大学'unionselect'040502','李浩','山东师范'unionselect'040503','王刚','烟台大学'...
数据库操作教程 2022-09-23 20:23:11 -
SQLServer中汇总功能的使用GROUPING,ROLLUP和CUBE
第一次看到这样的SQL语句,看不懂,其中用到了下面的不常用的聚集函数:GROUPING用于汇总数据用的运算符:ROLLUPSELECT CASE GROUPING(o.customerid) WHEN 0 THEN o.customerid ELSE '(Total)' END AS AllCustomersSummary, CASE GROUPING(od.orderid) WHEN 0 THEN od.orderid ELSE -1 END AS IndividualCustomerSummary, SUM(od.quantity*od.unitprice) AS price FROM Orders o, [Order Details] od WHERE&...
数据库操作教程 2022-09-23 20:21:35 -
sqlSetIDENTITY_INSERT的用法
语法SETIDENTITY_INSERT[database.[owner.]]{table}{ON|OFF}参数database,是指定的表所驻留的数据库名称。owner是表所有者的名称...
数据库操作教程 2022-09-23 20:15:46 -
SQLCONVERT转化函数使用方法小结
格式:CONVERT(data_type,expression[,style])说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到.例子:SELECTCONVERT(varchar(30),getdate(),101)now结果为:now---------------------------------------|09/15/2001Style数字在转换时间时的含义如下:复制代码代码如下:Style(2位表示年份)|Style(4位表示年份)|输入输出格式0|100|monddyyyyhh:miAM(或PM)1|101美国|mm/dd/yy2|102ANSI|yy-mm-dd3|103英法|dd/mm/yy4|104德国|dd.mm.yy5|105意大利|dd-mm-yy6|106|ddmonyy7|107|mondd,yy8|108|hh:mm:ss9|109|monddyyyyhh:mi:ss:mmmmAM(或PM)10|110美国|mm-dd-yy11|111日本|...
数据库操作教程 2022-09-23 20:14:57 -
SQLServer更改DB的Collation
执行以下SQL,即OK咯叻!!SQL:alterdatabase数据库名称SQL_Latin1_General_CP1_CI_AS...
数据库操作教程 2022-09-23 20:13:42 -
SQLServer性能优化--间接实现函数索引或者Hash索引
SQLServer中没有函数索引,在某些场景下查询的时候要根据字段的某一部分做查询或者经过某种计算之后做查询,如果使用函数或者其他方式作用在字段上之后,就会限制到索引的使用,不过我们可以间接地实现类似于函数索引的功能。另外一个就是如果查询字段较大或者字段较多的时候,所建立的索引就显得有点笨重,效率也不高,就需要考虑使用一个较小的"替代性"字段做等价替换,类似于Hash索引,本文粗浅地介绍两种上述两种问题的解决方式,仅供参考...
数据库操作教程 2022-09-23 18:22:57 -
SQL Server中的约束(constraints)详解
目录一、约束的分类二、约束命名三、主键约束1、在创建表的时候创建主键约束。2、在已存在的表上创建主键约束3、复合主键的创建四、外键约束4.1、创建表的时候创建外键4.2、在已存在的表中添加一个外键4.3、级联动作五、唯一约束主键和唯一约束的区别:六、CHECK约束七、DEFAULT约束7.1在创建表时定义DEFAULT约束:7.2在已存在的表上添加DEFAULT约束:八、禁用约束8.1、在创建约束时,忽略检查之前的不满足数据8.2、临时禁用已存在的约束九、规则和默认值(已淘汰)9.1、规则9.2、默认值9.3确定哪个表和数据类型使用给定的规则或默认值十、系统视图一、约束的分类在SQLServer中,有3种不同类型的约束...
数据库操作教程 2022-09-23 18:22:44