-
学习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 -
SQL语句练习实例之七剔除不需要的记录行
复制代码代码如下:--相信大家肯定经常会把数据导入到数据库中,但是可能会有些记录行的所有列的数据是null,这为null的数据是我们不需要--现在需要一个简单的查询来剔除掉这些为null的记录行。--假设表名为emplyees--方法1.---先把数据导入到数据库---其次:select*fromsys.columnswhereobject_id=(selectobject_idfromsys.objectswherename='EMPLYEEs')---方法2---使用数据库提供的函数execsp_columns'Employees'deletefromEmployeeswherecoalesce(status,tel,gwei,ADDRESS1,address2,nwei)isnull...
数据库操作教程 2022-09-23 20:30:03 -
SQLServerBulkInsert只需要部分字段时的方法
根据一般做法的话,导出部分字段时没有办法生成格式化XML文件,所以导入时就没有办法格式化导入数据。我想到两点,1.手工修改格式化XML文件,2.创造一个能生成格式化XML文件的中间对象...
数据库操作教程 2022-09-23 20:28:19 -
分页存储过程(三)在sqlserver中打造更加准确的分页结果
有人提出游标不好,会锁定行,幸亏我锁定的是临时表,不是数据表,不影响数据表的写操作。下面是14楼的回复,让我茅塞顿开,于是有了今天的改进版,取消了游标的使用,临时表还是存在的,谢谢...
数据库操作教程 2022-09-23 20:26:48 -
sqlserver用户权限管理,LINQ去除它的重复菜单项
Menu,这三个表之间有如下关系:User_Role=>RoleId=>RoleMenuRoleMenu=>MenuId=>Menu它们之间的业务关系是:当用户登陆后,通过UserId得到User_Role列表,将用户所包括的角色得出通过User_Role找到所有对应Menu现在有个问题,就是一个用户可以有多少角色,一个角色有多个菜单,当然,两个不同的角色可以有相当的菜单项,这时,就出现一个问题,用户在“管理员”这个角色里有“文件”这个菜单,同时它在“新闻管理员”这个角色里也有“文件”这个菜单,这样返回就会出现两个完成相同的”文件“菜单,下面,我使用匿名类和distinct方法来解决这个问题,代码如下:复制代码代码如下:classProgram{staticvoidMain(string[]args){#region实体列表初始化List<User_Role>userRole=newList<User_Role>{newUser_Role("01",1),newUser_Role("01",2),newUser_Role("02",1),...
数据库操作教程 2022-09-23 20:25:01 -
过程需要参数'@statement'为'ntext/nchar/nvarchar'类型
复制代码代码如下:declare@strCountTmpvarchar(100)--记录数 换成:复制代码代码如下:declare@strCountTmpnvarchar(100)--记录数...
数据库操作教程 2022-09-23 20:22:03 -
SQLServer常用管理命令小结
1.查看数据库的版本 select@@version 2.查看数据库所在机器操作系统参数 execmaster..xp_msver 3.查看数据库启动的参数 sp_configure 4.查看数据库启动时间 selectconvert(varchar(30),login_time,120)frommaster..sysprocesseswherespid=1 查看数据库服务器名和实例名 print'ServerName...............:'+convert(varchar(30),@@SERVERNAME) print'Instance..................:'+convert(varchar(30),@@SERVICENAME) 5.查看所有数据库名称及大小 sp_helpdb 重命名数据库用的SQL sp_renamedb'old_dbname','new_dbname' 6.查看所有数据库用户登录信息 sp_helplogins 查看所有数据库用户所属的角色信息 sp_helpsrvrolemember 修复迁移服务...
数据库操作教程 2022-09-23 20:21:38 -
数据库中经常用到的操作和管理数据库的语句总结第1/2页
/*--整理者:永恒de影--整理时间:2010/06/08--内容:SQL函数的介绍:*/--★★SQL2000查询出各(某)表字段的属性:★★★★★★★★★★★★★★★★★★SELECT表名=casewhena.colorder=1thend.nameelse''end,表说明=casewhena.colorder=1thenisnull(f.value,'')else''end,字段序号=a.colorder,字段名=a.name,标识=casewhenCOLUMNPROPERTY(a.id,a.name,'IsIdentity')=1then'√'else''end,主键=casewhenexists(SELECT1FROMsysobjectswherextype='PK'andparent_obj=a.idandnamein(SELECTnameFROMsysindexesWHEREindidin(SELECTindidFROMsysindexkeysWHEREid=a.idANDcolid=a.colid)))then'√'else''end,类型=b.name,占用字节数...
数据库操作教程 2022-09-23 20:16:09 -
SQL查询中需要使用别名问题
SQL查询中什么时候需要使用表别名?今天写MySQL时遇到使用表别名的问题,这里重新总结一下。1、表名很长时select*fromwww_baidu_userwherewww_baidu_user.id=1;和select*fromwww_baidu_useruwhereu.id=1;查询的结果一样,但是第二个使用表别名时更简洁...
数据库操作教程 2022-09-23 18:15:03 -
图书管理系统的sqlserver数据库设计示例
首先,在写数据库时需要遵循以下几个原则: 数据库的命名规范: 方便代码的交流和维护 不影响代码的效率,不与大众习惯冲突 使代码更美观,阅读更方便 使代码的逻辑更清晰,更易于理解 术语的定义: Pascal方法:将标识符的首字母和后面连...
数据库操作教程 2022-09-23 18:14:04 -
SQLServer配置管理器无法连接到WMI提供程序
今天在打开sqlserver的时候打不开。报了一个错误,然后我打开sqlserver配置管理器,就看到了如下图这个错误...
数据库操作教程 2022-09-23 18:09:11 -
企业管理器备份和还原SQLServer数据库
在日常的数据库操作中,我们常常对数据库进行备份操作,以方便在数据库发生灾难时对数据库进行还原,从而确保数据库的安全性。SQLServer数据库使用企业管理器可以简单直观地完成这些操作,还可以每天自动备份数据库...
数据库操作教程 2022-09-23 17:59:06