sql
文章平均质量分 62
JeanWan
do what you want to do,love what you love
展开
-
已知列名列表,如何查找含有这些列的表
已知列明列表,如何查找含有这些列的表?下面是sql语句:select tab.namefrom syscolumns as coljoin sysobjects as tab on col.id = tab.idwhere col.name = '列名'原创 2013-09-27 13:34:00 · 723 阅读 · 0 评论 -
ODS与DW的区别
背景知识:在当今这样一个信息技术发展迅速的时代,数据量也在不断的增长,面临这样的压力,总是会有大神提出一些解决方案。比如高层管理人员希望能查看整个公司的发展业绩,数据仓库(Data Warehouse, DW)正是解决该问题的主要方案,随之DW就这样产生了。可是时代在变,需求也会随着改变,比如保险公司的员工希望提高自己的业绩,拿更多的工资,那么他首先希望的就是能把更多的客户挖进来,其实这其中是有很转载 2015-09-12 16:15:45 · 935 阅读 · 0 评论 -
ODS VS. DW
【导读】ODS是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全体信息的需 求。常常被作为数据仓库的过渡,也是数据仓库项目的可选项之一。1 概述系统应用集成中一般对各系统中数据分为两类操作型数据:它有细节化,分散化的特点决策型数据:它有综合化,集成化的特点数据仓库概念的提出也把数据处理划分为了操作型处理和分析型处转载 2015-09-12 16:18:35 · 618 阅读 · 0 评论 -
维度建模的基本概念及过程
维度建模的基本概念及过程摘要:本文首先介绍维度模型中的维度表和事实表这2个基本构成要素的基础知识;其次,介绍设计维度模型的4个基本步骤;再次,围绕某银行为实现业务价值链数据集成的需要,介绍多维体系结构中的3个关键性概念:数据仓库总线结构、一致性维度、一致性事实。关键词:维度表;事实表;维度模型设计过程;数据仓库总线结构;一致性维度;一致性事实。0 引言与流行的说法不同,Ralp转载 2015-09-13 16:03:22 · 16390 阅读 · 0 评论 -
关系型数据库笔试面试题
第一、二、三范式http://www.cnblogs.com/i233/archive/2009/04/08/1431627.html聚集索引、非聚集索引http://database.51cto.com/art/201104/257104.htm唯一索引 聚集索引 非聚集索引索引实际上是一组指向表中数据的指针,索引的排列顺序其实就是这组指针转载 2015-09-13 16:25:21 · 1014 阅读 · 0 评论 -
什么是关系型数据库
1.关系型数据库简单的可以理解为二维数据库,表的格式就如Excel,有行有列。常用的关系数据库有Oracle,SqlServer,Informix,MySql,SyBase等。(也即是我们平时看到的数据库,都是关系型数据库)2.所谓关系型数据库,是指采用了关系模型来组织数据的数据库。关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出,在之后的几十年中,关系模型的概念得到了充分的转载 2015-09-13 16:27:38 · 704 阅读 · 0 评论 -
SQL基础--合并查询(union,union all,intersect,minus)用法与介绍
转:http://josh198331.iteye.com/blog/697319合并查询一:链接数据库 数据库实例 orcl, 默认用户:scott 默认密码:tiger 进入命令行:Sql代码 运行-->cmd-->sqlplusw scott/tiger@orcl. 二:un转载 2015-11-06 16:48:20 · 637 阅读 · 0 评论 -
cross apply & outer apply
SQL Server 2005 新增 cross apply 和 outer apply 联接语句,增加这两个东东有啥作用呢? 我们知道有个 SQL Server 2000 中有个 cross join 是用于交叉联接的。实际上增加 cross apply 和 outer apply 是用于交叉联接表值函数(返回表结果集的函数)的, 更重要的是这个函数的参数是另一个表中的字段。这个转载 2015-11-06 16:57:48 · 377 阅读 · 0 评论 -
sql getdate() 时间格式设置
Sql Server 中一个非常强大的日期格式化函数常用: Select CONVERT(varchar(100), GETDATE(),23): 2006-05-16Select CONVERT(varchar(100), GETDATE(),0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(),转载 2015-10-23 15:27:16 · 389 阅读 · 0 评论 -
SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较
排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数: 1.row_number 2.rank 3.dense_rank 4.ntile 下面分别介绍一下这四个排名函数的功能及用法。在介绍之前假设有一个t_table表,表结构与表中的数据如图1所示: 图1 其中fiel转载 2015-09-22 16:52:15 · 437 阅读 · 0 评论 -
row_number() 与 rank() 的区别
1.--23.查询每个部门工资最高的2-3名的员工 select m.ename, m.salary, m.deptno, m.rn from (select a.ename, a.salary, a.deptno,转载 2015-09-22 16:53:30 · 3505 阅读 · 0 评论 -
关于SQL中CTE(公用表表达式)(Common Table Expression)的总结
一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去转载 2015-09-22 22:51:08 · 475 阅读 · 0 评论 -
Store Procedure 和 Function的区别
前两天面试时被面试官问到这个问题,搜肠刮肚也没有说出个所以然来.看来对数据库知识还是要时时总结归纳一下啊!在网上找了些资料,归纳如下:先上个图片:Oracle中差别SQL SERVER中:本质上没区别。只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。执行的本质都一样。转载 2015-11-16 19:22:48 · 3599 阅读 · 0 评论 -
SQL Server 2005中的except/intersect和outer apply
转:http://www.cnblogs.com/fanweixiao/archive/2008/03/30/1129482.html首先,建立两个表:CREATE TABLE #a (ID INT) INSERT INTO #a VALUES (1) INSERT INTO #a VALUES (2) INSERT INTO #a VALUES (null)转载 2015-11-16 20:35:19 · 361 阅读 · 0 评论 -
集合运算(UNION、UNION ALL、INTERSECT、MINUS)
■■集合运算(UNION、UNION ALL、INTERSECT、MINUS) 集合运算组合两个或多个部分查询的结果到一个结果中。包含集合运算的查询称为复合查询。Operator ReturnsUNION(联合) 由每个查询选择的所有不同的行(无重复值)UNION ALL 由每个查询选择的所有的行,包括所有重复的行INTERSECT(交叉) 由两个查询选转载 2015-11-16 21:08:41 · 4160 阅读 · 0 评论 -
行列转换
行列转换,通常有2种方法,一是CASE WHEN/UNION;一是PIVOT/UNPIVOT。对于行值或列数不固定的情况,需要用动态SQL。一. 行转列123456789101112131415161718转载 2015-11-16 21:32:54 · 633 阅读 · 0 评论 -
SQL Server2012中的SequenceNumber尝试
转:http://www.cnblogs.com/CareySon/archive/2012/03/12/2391581.html 简介 SequenceNumber是SQL Server2012推出的一个新特性。这个特性允许数据库级别的序列号在多表或多列之间共享。对于某些场景会非常有用,比如,你需要在多个表之间公用一个流水号。以往的做法是额外建立一个表,然后存储流水号。而新插入转载 2015-12-09 15:26:09 · 953 阅读 · 0 评论 -
[ORACLE]详解not in与not exists的区别与用法(not in的性能并不差!)
在网上搜了下关于oracle中not exists和not in性能的比较,发现没有描述的太全面的,可能是问题太简单了,达人们都不屑于解释吧。于是自己花了点时间,试图把这个问题简单描述清楚,其实归根结底一句话:not in性能并不比not exists差,关键看你用的是否正确。我先建两个示范表,便于说明:create table ljn_test1 (col number);c转载 2015-07-22 10:05:53 · 666 阅读 · 0 评论 -
SQL Server – Show/Hide Results Pane in Management Studio 2012
In earlier version of SQL Server Management Studio (2005, 2008 and 2008 R2) you can show/hide results pane using keyboard shortcut Ctrl+R . This shortcut was also present in Query Analyzer (SQL转载 2014-10-28 13:58:59 · 967 阅读 · 0 评论 -
查看tidal job中调用的sp是否真的在运行
刚刚us的tech leader突然上线call我说,tidal job中有一个job挂掉了,让我帮忙看一下什么原因然后rerun 起来,一时间我晕晕乎乎的,就问tidal job number及error message,然后找到job 中调用的sp,及里面的参数,后来修改后,tidal job 是active状态了,但是不确定sp是否真的再跑,所以想找一个类似informatica或者nete原创 2015-06-30 14:43:58 · 1479 阅读 · 1 评论 -
Sqlserver查询性能分析
Sqlserver查询性能分析(执行结果分析)1、方法在查询窗口中输入以下命令dbcc dropcleanbuffers --注释:清除数据dbcc freeproccache --注释:清除缓存这是为了每次查询时,不会因为重复查询对结果有干扰,接着在窗口中输入以下命令。 Set statistics io on转载 2014-03-10 11:18:04 · 1217 阅读 · 0 评论 -
count 小知识
平时我们如果想count 表dbo.person中的记录,一般写法是select count(1)from dbo.person这种写法很简单,但是不利于观察,当很多个表放在一起count时,很不便于观察于是可以利用一个临时表(dbo.temp),然后会把影响的行数记录在log中,这是观察log就可以看到了(假设address 是unique,方便下面优化)select add原创 2014-03-28 14:56:25 · 582 阅读 · 0 评论 -
批量删除表的sql语句
DECLARE @Table NVARCHAR(30)DECLARE tmpCur CURSOR FOR SELECT name FROM sys.objects WHERE TYPE='U' AND name LIKE N'HSUPA%'OPEN tmpCur FETCH NEXT FROM tmpCur INTO @TableWHILE @@FETCH_STATUS = 0转载 2014-07-02 16:52:16 · 2213 阅读 · 0 评论 -
translate() 用法
oracle中Translate()函数用法 一、语法: TRANSLATE(string,from_str,to_str) 二、目的 返回将(所有出现的)from_str中的每个字符替换为to_str中的相应字符以后的string。TRANSLATE是REPLACE所提供的功能的一个超集。如果from_str比 to_str长,那么在fro转载 2014-07-03 17:51:26 · 1399 阅读 · 0 评论 -
quick count the number of the rows in a big table
If you want to estimate how many rows in a big table. You can use this quiry原创 2014-07-23 18:35:05 · 623 阅读 · 0 评论 -
use dynamic sql to output the result
DECLARE @sql1 nvarchar(400)DECLARE @table_namevarchar(50) SET @table_name=(SELECTname FROM sysobjects where name = 'source_system')--SELECT name FROMsysobjects where name = 'sour原创 2014-10-28 10:31:52 · 459 阅读 · 0 评论 -
Netezza: nvl(row_id,0) is null
when we create sp in Netezza, we may be assign value by 'nvl(row_id,0)'.Eg: DECLARE vStart_ro_id bigint; BEGIN vStart_ro_id : = (select nvl(row_id,0) + 1 from table where job_name = '原创 2014-11-25 17:43:55 · 989 阅读 · 0 评论 -
check if the temp is existing
IF object_id('tempdb..#MyTempTable')IS NOT NULLBEGIN DROP TABLE #MyTempTableENDCREATE TABLE #MyTempTable( ID int IDENTITY(1,1), SomeValue varchar(100))转载 2014-10-21 14:26:11 · 392 阅读 · 0 评论 -
store procedure: sql a cursor with the name 'xxx_cursor' already exists
除了标准格式:原创 2014-11-06 10:06:44 · 2184 阅读 · 0 评论 -
解决为'*********' 的游标已存在问题
出现名为'MM_CURSOR' 的游标已存在。 一般出现这样的问题是: 1:游标没有 --关闭 释放 如: Sql代码 --关闭游标 CLOSE MM_CURSOR --释放游标 DEALLOCATE MM_CURSOR 2:游标已存在同名情况,此时就需要在定义游转载 2014-11-06 10:30:30 · 3086 阅读 · 0 评论 -
sql server中调查运行在大表上的session
SELECT t.text FROM sys.dm_exec_requests c outer APPLY sys.dm_exec_sql_text (c.sql_handle) t WHERE t.text like '%表名%'原创 2014-12-18 18:04:13 · 457 阅读 · 0 评论 -
partition 对index的影响
table 在做partition前后index 可能会变化,下面直接上例子来说明吧 table name:person_siteprimary key: person_id, site_id执行:exec sp_helpindex person_siteindex_nameindex_descriptionindex_keyspk_person原创 2015-01-20 17:23:11 · 931 阅读 · 0 评论 -
usful function--reverse(str)
REVERSE(str)返回字符串str的字符颠倒顺序。SQL> SELECT REVERSE('abcd');+---------------------------------------------------------+| REVERSE('abcd') |+----------------转载 2015-02-12 13:50:42 · 472 阅读 · 0 评论 -
T-SQL – Replace Multiple ExtraWhitespaces in a String with One Whitespace
MS SQLServerIn this article I will reviewthree easy methods that can be used to replace extra spaces between words in astring. Note that if you want to remove extra spaces from the start and end ofy转载 2015-02-13 11:22:54 · 486 阅读 · 0 评论 -
去除字符串中多个空格,只保留一个空格
看到有人在问:例如 :ab c d e要变成: ab c d e 有没有什么简单的方法呢.原始帖子地址: http://www.itpub.net/thread-1054142-1-1.html该贴中讲了在 10g 中可以使用正则表达式,转载 2015-02-12 15:34:51 · 4634 阅读 · 0 评论 -
Oracle 里面的 TRANSLATE 以及 SQL Server 下的实现
首先先介绍 Oracle 里面的 TRANSLATE 的用法先是语法:Oracle语法:TRANSLATE(char, from, to)用法:返回将出现在from中的每个字符替换为to中的相应字符以后的字符串。若from比to字符串长,那么在from中比to中多出的字符将会被删除。三个参数中有一个是空,返回值也将是空值。原创 2015-03-20 17:11:54 · 692 阅读 · 0 评论 -
Sql中将datetime转换成字符串的方法(CONVERT)
一、回顾一下CONVERT()的语法格式:CONVERT ([ length ], [, style])二、这里注重说明一下style的含义:style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式;一般在时间类型(datetime,smalldatetime)与字符串类型(nch转载 2016-05-25 10:27:59 · 6146 阅读 · 0 评论