随笔分类 - SQL SERVER 数据库
摘要:在一张表上,只应用一条规则也是很困难的,所有范式规则的原则就是后一级规则必须符合前一级规则。换句话说,如果一个设计符合第二范式,就必然符合第一范式。 第一范式--1NF 范式的第一条规则规定: 要将平面数据转化到第一范式,需要利用数据库设计器创建另外一个表。重复的列要被删除,相关的数据要放在第二个表
阅读全文
摘要:注意:不能显式地向GUID列插入值。 而应该这样: 这样我们查询这个表的数据的时候: 所以记住:GUID是自动插入的,不能手动插入列的类型为GUID的字段值。
阅读全文
摘要:RDBMS能在事务中维护数据的完整性,这是通过数据库对象实现的多种机制来实现的,下面列出的是4个最重要的对象: 在SQL Server中,锁可以使多个用户同时访问,同一数据,并且保证在读取数据时,数据不会被修改。同时,锁也用来确保一个进程在修改数据时,不和其他进行数据修改操作或者数据读取
阅读全文
摘要:主键:每个表,只能有一个主键,主键不能为NULL,且必须是唯一的。主键最好是由单个列组成,但这不是必须的,主键也可以是由多个列组成,如果表的两个列组合在一起能唯一标识一个行,而单个列不能,则可以将这两个列组合在一起作为主键。 列:在定义表的列时,至少需要定义下列三项:1.列的名称,2.列的数据类型,
阅读全文
摘要:验证: SELECT S# , Score FROM dbo.SC WHERE C# = '001' SELECT S# , Score FROM dbo.SC WHERE C# = '002' 验证: --测试--SELECT * FROM dbo.Teacher WHERE Tname LIKE
阅读全文
摘要:声明和调用有返回值的存储过程 分页存储过程 转账的存储过程:
阅读全文
摘要:取值的话:print @变量名, 变量不设置值的话,默认打印出来是:NULL, 输出变量的值:
阅读全文
摘要:--递归查询产品分类 WITH cte AS ( SELECT * FROM syn_Categories WHERE id = $CategoryID$ UNION ALL SELECT syn_Categories....
阅读全文
摘要:SELECT * FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY EmployeeID DESC ) AS Rownumber , * FROM HumanResources.Employee ) AS t WHERE t.Rownumber BETWEEN (
阅读全文
摘要:什么是子查询 子查询:顾名思义,在一个查询中,有另外一个查询,这个查询就叫做,主查询的子查询。 【把一个查询的结果,在另一个查询中使用就叫子查询。(将一个查询语句,作为一个结果集,供其他SQL语句使用)】 --需求:找出所有‘软件11108班’的学生信息。 分析:在学生表中,我们没有存,班级名称是“
阅读全文
摘要:在数据库中,对数据进行比对,有两种用法, 第一种:不对任何列进行条件判断 执行的结果是: 从Case开始判断,判断什么?不知道,当when开始的时候,才知道判断什么东西,类似于C#中的if...esle if...else.. 第二种:直接case列,值判断 执行的结果为: (无列名)学号为1学号为
阅读全文
摘要:再来看看这个SQL: 标黄色的SQL:执行的结果是: (无列名) (无列名)1102 软件11021103 软件11031104 软件11041105 软件11051106 软件1106 我们已经学过Union关键字,会自动去除重复数据。所以只查询了5条数据。 现在完整执行上面的SQL: 看到影响的
阅读全文
摘要:集合运算符是针对两个集合操作的,两个集合必须有相同的列数;列具有相同的数据类型(至少能够隐式转换的);最终输出的集合的列名是,由第一个集合的列名来确定的(可以用来连接多个结果)。注意:联合【Union】与连接不一样【Join】。 联合:将多个结果集,合并为一个结果集。Union(去除重复,相当...
阅读全文
摘要:Convert函数和Cast函数都是转化函数,效果是一样的。cast函数,转化,如果转化之后,年龄还是Null的话,就显示为“未知”Convert函数和Cast函数都是转化函数,效果是一样的。
阅读全文
摘要:Having--对分组信息进行过滤,因为分组之后的信息和原来的表信息没有关系了,Having可以用的之后,出现在Group子句中的列,还有聚合函数 SELECT s_Age ,COUNT(s_ID)FROM dbo.Student GROUP BY s_Age--正确的 SELECT s_Age ,...
阅读全文
摘要:Group By:对数据进行分组,分组之后的数据就是“分组信息”,和原来表的信息,就没有联系了,分组之后,可以取到分组数据,就是根据什么字段分组,就能取到字段的名字了。还能使用聚合函数。Group By和Order By都是要放在Where语句之后,Group By和Order By都是对筛选后的数...
阅读全文
摘要:Order By--将当前查询出来的数据结果,进行排序,排序按照后面指定的列排序;DESC--倒序排序(降序);ASC--正序排序(升序);汉字:用拼音的首字母排序,升序是从a--z;降序是从z--a;如果是根据多个列排序,那么两个之间用逗号,隔开,排序会先按照前面一个排序之后,在按照后面一个排序;...
阅读全文