sql
波哥的技术积累
这个作者很懒,什么都没留下…
展开
-
数据库范式学习
1:第一范式 每个数据库表必须有一个主键,它与每条记录一一对应,通过适当定义键属性和非键属性,可以删除重复的组 2:第二方式 首先必须满足第一范式的要求,另外,如果一个表有一个复合主键,所有属性必须与该键关联,并且在表的多行之间多余重复的数据被移动到一个单独的表中3:第三范式 存储在数据库表中的数据不能依赖表的任何域,必须惟一依赖主键并且满原创 2012-03-08 15:47:14 · 790 阅读 · 0 评论 -
SQL查询优化 LEFT JOIN和INNER JOIN
1,连接了八个数据库表,而且全部使用LEFT JOIN,如下所示:Resource_Resources ALEFT JOIN Resource_Clients B ON A.ResourceId = B.ResourceId LEFT JOIN Resource_Files C on B.ClientId=C.ClientId LEFT JOIN Resource_Client转载 2014-12-16 17:28:22 · 22610 阅读 · 0 评论 -
oracle 中对于 CONTAINS 函数的用法
1. 查询住址在北京的学生SELECT student_id,student_nameFROM studentsWHERE CONTAINS( address, 'beijing' )remark: beijing是一个单词,要用单引号括起来。2. 查询住址在河北省的学生SELECT student_id,student_nameFROM studentsWHE转载 2014-01-13 17:47:16 · 15415 阅读 · 0 评论 -
ORACLE分页查询出现重复记录的解决办法
今天在用Oracle分页查询数据的时候出现了重复数据,有的数据无法查出,很郁闷,想了想,找了资料,发现问题 分页语句:Sql代码 select * from ( select row_.*, rownum rownum_ from转载 2013-07-05 17:57:10 · 1586 阅读 · 0 评论 -
Mysql的正则表达式查询
select * from info where name REGEXP '^L';select * from info where name REGEXP '^aaa';select * from info where name REGEXP 'c$';select * from info where name REGEXP 'aaa$';select * from info w原创 2012-11-11 23:44:33 · 845 阅读 · 0 评论 -
delete和truncate的区别
区别 1。delete from后面可以写条件,truncate不可以 2。delete from记录是一条条删的,所删除的每行记录都会进日志,而truncate一次性删掉整个页,因此日至里面只记录页释放,简言之,delete from更新日志,truncate基本不,所用的事务日志空间较少3。delete from删空表后,会保留一个空的页,truncate在表中不会转载 2012-08-14 10:11:28 · 1865 阅读 · 0 评论 -
SQL学习之函数
1:函数 函数可以理解为一种工具,用于完成定义明确的任务,如平方根、大小字母转换等。 有些函数需要输入参数,有些函数不需要输入参数,但是函数必须具有返回值。 函数分为确定性函数和非确定性函数,确定性函数只需要输入相同的参数,则返回值总是相同的,如abs函数,非确定性函数调用相同的参数, 会出现返回值不同的情况,如SQL Server的getdate()函数 对于原创 2012-03-22 17:32:33 · 3939 阅读 · 0 评论 -
SQL之存储过程
1:定义 存储过程(stored procedure)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库中,利用存储过程可以加速SQL语句的执行。 存储过程分为系统存储过程和自定义存储过程。 *系统存储过程在master数据库中,但是在其他的数据库中可以直接调用,并且在调用时不必在存储过程前加上数据库名,因为在创建一个新数据库时,系原创 2012-03-15 16:32:06 · 8879 阅读 · 0 评论 -
sql之视图管理
1:创建视图 create view view_name[(column)] [with encryption] as select_statement [with checkoption] with encryption:指定将create view语句文本存储到系统表时进原创 2012-03-14 16:55:02 · 1784 阅读 · 0 评论 -
SQL之流程控制
分为变量声明、流程控制、数据操纵、数据控制、内嵌函数和自定义函数1:局部变量的声明和赋值 Declare @变量名 变量类型 可以声明一个或者多个变量,变量被声明后被赋值null 赋值: set @变量名=变量值 select @变量名=变量值[,变量名=变量值]原创 2012-03-14 14:05:20 · 2776 阅读 · 0 评论 -
sql 之数据处理
1:把工资大于不同仓库的所有平均工资的职工的工资减少66 use db_sqlserver2;update 职工 set 工资=工资-66 where 工资>all(select AVG(工资) from 职工 group by 职工号)2:利用嵌套查询修改多行多列中的数据 update 仓库 set 面积=面积+80, 城市='济南' where 面积原创 2012-03-14 09:46:07 · 1351 阅读 · 0 评论 -
Mysql子查询优化技术
1:子查询优化的思路 1.1 子查询合并(Subquery Coalescing) 在某些条件下(语义等价:两个查询块产生同样的结果集),多个子查询能够合并成一个子查询(合并后还是子查询,可以通过其他方式消除子查询), 这样可以把多次表扫描、多次连接减少为单次表扫描和单次连接。 select * from work_list wl wh原创 2015-01-11 11:13:52 · 2353 阅读 · 0 评论