-
学习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学习笔记六union联合结果集使用
联合结果集新建临时工数据表复制代码代码如下:CREATETABLET_TempEmployee(FIdCardNumberVARCHAR(20),FNameVARCHAR(20),FAgeint,PRIMARYKEY(FIdCardNumber));INSERTINTOT_TempEmployee(FIdCardNumber,FName,FAge)VALUES('1234567890121','Sarani',33);INSERTINTOT_TempEmployee(FIdCardNumber,FName,FAge)VALUES('1234567890122','Tom',26);INSERTINTOT_TempEmployee(FIdCardNumber,FName,FAge)VALUES('1234567890123','Yalaha',38);INSERTINTOT_TempEmployee(FIdCardNumber,FName,FAge)VALUES('1234567890124','Tina',26);INSERTINTOT_TempEmployee(FIdCardNumb...
数据库操作教程 2022-09-23 20:31:05 -
SQL学习笔记五去重,给新加字段赋值的方法
去掉数据重复增加两个字段alterTABLET_EmployeeAddFSubCompanyVARchar(20);ALTERTABLET_EmployeeADDFDepartmentVARCHAR(20);给新加的字段赋值UPDATET_EmployeeSETFSubCompany='Beijing',FDepartment='Development'whereFNumber='DEV001';UPDATET_EmployeeSETFSubCompany='ShenZhen'...
数据库操作教程 2022-09-23 20:27:41 -
SQL学习笔记一SQL基础知识
常用字段类型bit(0和1),datetime,int,varchar,nvarchar(可能含有中文用nvarchar)Varchar,nvarchar和char(n)的区别char(n)不足长度n的部分用空格填充。SQL语句中,字符串用单引号...
数据库操作教程 2022-09-23 20:26:50 -
SQL学习笔记四聚合函数、排序方法
聚合函数count,max,min,avg,sum...selectcount(*)fromT_EmployeeselectMax(FSalary)fromT_Employee排序ASC升序DESC降序select*fromT_EmployeeorderbyFage先按年龄降序排列。如果年龄相同,则按薪水升序排列select*fromT_EmployeeorderbyFAgeDESC,FSalaryASCorderby要放在where子句之后通配符过滤通配符过滤用like单字符通配符‘_'多字符通配符‘%'select*fromT_EmployeewhereFNamelike'_erry'NULL是不知道的意思,而不是没有用SQL语句查询NULL的数据不能用=或<>而用isNULL或者isnotNULLselect*fromT_EmployeewhereFNameisNULLin(23,25)同时匹配两个值...
数据库操作教程 2022-09-23 20:26:10 -
SQL学习笔记二创建表、插入数据的语句
创建一个表T_Employee并插入若干数据复制代码代码如下:createtableT_Employee(FNumberVARCHAR(20),FNameVARCHAR(20),FAgeint,FSalaryNUMERIC(10,2),PRIMARYKEY(FNumber));insertintoT_Employee(FNumber,FName,FAge,FSalary)values('DEV001','Tom',25,8300);insertintoT_Employee(FNumber,FName,FAge,FSalary)values('DEV002','Jerry',28,2300.80);insertintoT_Employee(FNumber,FName,FAge,FSalary)values('SALES001','John',23,5000);insertintoT_Employee(FNumber,FName,FAge,FSalary)values('SALES002','Kerry',28,6200);insertintoT_Employee(FNumber,FNam...
数据库操作教程 2022-09-23 20:25:11 -
MSSQL存储过程学习笔记一关于存储过程
一、存储过程的概念,优点,语法在写笔记之前,首先需要整理好这些概念性的东西,否则的话,就会在概念上产生陌生或者是混淆的感觉。概念:将常用的或者是很复杂的工作,预先利用SQL语句写好并用一个指定的名称存储起来,那么以后要是调用这些SQL语句的时候,只需要利用Execute/Exec执行以下,即可...
数据库操作教程 2022-09-23 20:24:43 -
Sql语句学习指南第1/2页
1.在查询结果中显示列名: a.用as关键字:selectnameas'姓名'fromstudentsorderbyage b.直接表示:selectname'姓名'fromstudentsorderbyage 2.精确查找: a.用in限定范围:select*fromstudentswherenativein('湖南','四川') b.between...and:select*fromstudentswhereagebetween20and30 c.“=”:select*fromstudentswherename='李山' d.like:select*fromstudentswherenamelike'李%'(注意查询条件中有“%”,则说明是部分匹配,而且还有先后信息在里面,即查找以“李”开头的匹配项。所以若查询有“李”的所有对象,应该命令:'%李%';若是第二个字为李,则应为'_李%'或'_李'或'_李_'...
数据库操作教程 2022-09-23 20:24:33 -
实例学习mssql存储过程分析
例1:通过存储过程查询数据库中的student表 我们知道在sql中,我们查询一个表,可以通过 select * from student 进行查询,那在存储过程中该怎么写呢? 解: 首先我们打开查询分析器,(以下举的例子中的存储过程都用查询管理器来创建); 然后我们先来创建一个存储过程以备等会使用,(就好像在编程中我们先来编一个函数一样): create procedure proc_stu as select * from studentgo 这样一个存储过程就创建好了,现在我们来执行一下 我们可以在查询分析器中输入:execute proc_stu 便可以看到效果分析一下上面的例子,proc_stu为存储过程名,select * from student很显然就是SQL语句了,执行的时候我们只需要execute(执行) 存储过程名,就可以了.其中 , procedure ...
数据库操作教程 2022-09-23 20:18:10 -
SQL语句操作全集学习mssql的朋友一定要看
SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1、说明:创建数据库CREATEDATABASEdatabase-name2、说明:删除数据库dropdatabasedbname3、说明:备份sqlserver---创建备份数据的deviceUSEmasterEXECsp_addumpdevice'disk','testBack','c:mssql7backupMyNwind_1.dat'---开始备份BACKUPDATABASEpubsTOtestBack4、说明:创建新表createtabletabname(col1type1[notnull][primarykey],col2type2[notnull],..)根据已有的表创建新表:A:createtabletab_newliketab_old(使用旧表创建新表)B:createtabletab_newassele...
数据库操作教程 2022-09-23 20:13:23 -
SQLServer学习笔记之事务、锁定、阻塞、死锁用法详解
本文实例讲述了SQLServer学习笔记之事务、锁定、阻塞、死锁用法。分享给大家供大家参考,具体如下:1、事务隐式事务/*==================================================================当以create,drop,fetch,open,revoke,grand,altertable,select,insert,delete,update,truncatetable语句首先执行的时候,SQLServer会话自动打开一个新的事务,如果在会话中激活了隐式事务模式,那么这个事务会一直保持打开状态,直到rollback或commit语句这个事务才结束,如果忘记提交事务,那么在相应的隔离级别下,事务占用的锁可能不会释放,因此尽量不要用隐式事务...
数据库操作教程 2022-09-23 18:22:17