新足迹

 找回密码
 注册

精华好帖回顾

· 来聊聊乔布斯的传记吧 (2011-10-30) JuJu · 客家传统美食--酿苦瓜 (2009-2-16) tintin1976
· 关于window tint,我还是发一帖大家掰扯掰扯吧 (2016-2-29) Simonjo · 世界杯与我 – 五届世界杯,我的青春十六年 (2010-7-12) 老猫晒太阳
Advertisement
Advertisement
楼主:小V老师

[学习培训] 稍微谈谈SQL [复制链接]

发表于 2014-6-16 00:21 |显示全部楼层
此文章由 Fernando 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Fernando 所有!转贴必须注明作者、出处和本声明,并保持内容完整
小V老师 发表于 2014-6-15 23:02
其实我挺想去做大数据咨询的,无奈澳洲机会太少了,其实我去做大数据咨询,放到国内我也是TOP的,因为其 ...

你还是回国吧,在澳洲太屈才了。国内的机会远比你想象的要好很多,尤其是这块。
想年纪轻轻就在澳洲过退休生活,还是想在那些青史留名的项目里留个自己的名字?
like hell
Advertisement
Advertisement

发表于 2014-6-16 00:23 |显示全部楼层
此文章由 小V老师 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小V老师 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Fernando 发表于 2014-6-15 23:21
你还是回国吧,在澳洲太屈才了。国内的机会远比你想象的要好很多,尤其是这块。
想年纪轻轻就在澳洲过退 ...

有些时候所谓的自信未必是真的,对自己的发现是逐渐的,即使错过了一些机会,总也有些其他人生经历

总之对我来说,澳洲也是不错的人生经历,先呆一阵子吧

发表于 2014-6-16 00:27 |显示全部楼层
此文章由 lavahx 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 lavahx 所有!转贴必须注明作者、出处和本声明,并保持内容完整
从来没碰到容易的sql面试,

我碰到的sql server面试题
1 给个样表和输出结果,问用pivot如何实现,白板直接写
2 递归的CTE,样式如1,如果从来没用过,现场肯定写不出的。

发表于 2014-6-16 08:34 来自手机 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
lavahx 发表于 2014-6-15 23:27
从来没碰到容易的sql面试,

我碰到的sql server面试题

这样的面试题很不好

就算是高手中的高手也不一定能默写出来

这种东西毕竟不是常用的。
职业灌水赚分

发表于 2014-6-16 10:35 |显示全部楼层
此文章由 无视 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 无视 所有!转贴必须注明作者、出处和本声明,并保持内容完整
典 发表于 2014-6-16 07:34
这样的面试题很不好

就算是高手中的高手也不一定能默写出来

pivot & cte 还是挺常用的,写出个7788我觉得就挺好了,全写对到也不至于,意思差不多就行

发表于 2014-6-16 10:39 |显示全部楼层
此文章由 红烧鸡翅 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 红烧鸡翅 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我以前做这个,改行了
Advertisement
Advertisement

发表于 2014-6-16 10:59 来自手机 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
无视 发表于 2014-6-16 09:35
pivot & cte 还是挺常用的,写出个7788我觉得就挺好了,全写对到也不至于,意思差不多就行 ...

Pivot用得多,第归CTE就很少用了,
有些记忆力好的估计能写出来。我是不行的。
.上次一中国哥们给我们做SQL contract,老板超级喜欢,合同完了还惦记那哥们,一有项目就去找他,可惜那哥们另有高就。
职业灌水赚分

发表于 2014-6-16 11:14 |显示全部楼层
此文章由 IsDonIsGood 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 IsDonIsGood 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 IsDonIsGood 于 2014-6-16 10:19 编辑
小V老师 发表于 2014-6-15 22:54
我一直认为,如果做IT还老想着什么书目,已经落后一大截了,互联网时代,知识都来自于互联网,即使有书, ...


开源社区的文档维护向来不是很好,缺乏系统,做reference还不错,完全新手上手没有系统的学习很容易再开发完成50%之后才发现一些基础的问题都理解错了。关键在于开源社区coding的contributer都不爱写文档或者写文档的能力比coding能力低。
有一本写的比较系统,抓住重点的书是非常有帮助的,比如manning的XX in action 系列。
个人的经历就是学习Solr,wiki的维护相当乱,很多内容没有及时更新。 今年manning出了一本solr in action看完之后感觉醍醐灌顶,很多知识点被一下串联起来。

另JT推一下solr in action, 个人认为是目前所有solr学习书中最系统,最全面,解释最清楚地一本书,以4.7为例子,值得购买收藏。
看完之后再去看solr每次的reference 文档感觉一目了然。

评分

参与人数 2积分 +9 收起 理由
无视 + 5 你太有才了
+ 4 感谢分享

查看全部评分

2020目标: 活着

退役斑竹

发表于 2014-6-16 11:23 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
其实写SQL确实不难,难的是同样的结果怎么用最快的速度得到。

即使不做DBA,BI,作为程序员懂一些index,数据存储方式也是好的

评分

参与人数 1积分 +4 收起 理由
+ 4 我很赞同

查看全部评分

发表于 2014-6-16 11:24 |显示全部楼层
此文章由 无视 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 无视 所有!转贴必须注明作者、出处和本声明,并保持内容完整
典 发表于 2014-6-16 09:59
Pivot用得多,第归CTE就很少用了,
有些记忆力好的估计能写出来。我是不行的。
.上次一中国哥们给我们做S ...

哦,self-reference都可以用cte来做recursion,跟设计有关,非recursive的cte应该很普遍了,用的时候google一下就搞定,到也真不至于手写。

现在市场纯sql contractor很少,都是要求full stack developer,从前做到后的,有的甚至devops都要求cover,比较变态,不过这应该也代表趋势,在技术更细化的同时,对人的要求也越高,这个行业越来越难混了。

发表于 2014-6-16 11:28 |显示全部楼层
此文章由 无视 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 无视 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2014-6-16 10:23
其实写SQL确实不难,难的是同样的结果怎么用最快的速度得到。

即使不做DBA,BI,作为程序员懂一些index, ...

现在这是dev这边的基本要求了
Advertisement
Advertisement

退役斑竹

发表于 2014-6-16 11:33 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
无视 发表于 2014-6-16 10:28
现在这是dev这边的基本要求了

但真正能懂的并不多,比如cix和non cix在存储上的区别,non cix里如果包括cix,存的是数据还是指针,什么时候把column名直接列进index,什么时候用include,为什么?

我碰见过的DEV,基本一半以上不明白。

评分

参与人数 1积分 +6 收起 理由
IsDonIsGood + 6 感谢分享

查看全部评分

发表于 2014-6-16 11:35 |显示全部楼层
此文章由 LifesoCool 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 LifesoCool 所有!转贴必须注明作者、出处和本声明,并保持内容完整
IsDonIsGood 发表于 2014-6-16 10:14
开源社区的文档维护向来不是很好,缺乏系统,做reference还不错,完全新手上手没有系统的学习很容易再开 ...

感谢分享,我去买来看看

发表于 2014-6-16 11:39 |显示全部楼层
此文章由 无视 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 无视 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2014-6-16 10:33
但真正能懂的并不多,比如cix和non cix在存储上的区别,non cix里如果包括cix,存的是数据还是指针,什么 ...

哪个level的? senior的不懂就不应该了

退役斑竹

发表于 2014-6-16 11:41 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
无视 发表于 2014-6-16 10:39
哪个level的? senior的不懂就不应该了

各个level

发表于 2014-6-16 11:48 |显示全部楼层
此文章由 adu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 adu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
典 发表于 2014-6-16 07:34
这样的面试题很不好

就算是高手中的高手也不一定能默写出来

只有那些没有实际做过的人才以为干活的是用手和笔写出来的。
Advertisement
Advertisement

退役斑竹

发表于 2014-6-16 11:52 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
lavahx 发表于 2014-6-15 23:27
从来没碰到容易的sql面试,

我碰到的sql server面试题

我碰到过最BT的SQL面试题:

一个有大量dup的table,请用3种不同方法去除dup,

不能用temp table,不能用rank之类的function,不能用cursor。。。

基本上你平时能想到的东西都不准用。。。

发表于 2014-6-16 11:54 来自手机 |显示全部楼层
此文章由 典 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 典 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 典 于 2014-6-16 10:57 编辑
月亮 发表于 2014-6-16 10:52
我碰到过最BT的SQL面试题:

一个有大量dup的table,请用3种不同方法去除dup,


答案是什么?
不用temp table,可以用table variable吧
select ... union 不知道行不
职业灌水赚分

退役斑竹

发表于 2014-6-16 11:57 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
典 发表于 2014-6-16 10:54
答案是什么?

没给答案,这是第四轮面试,面试的人从硅谷打来的,似乎是个大牛,但口音是印度人。。。。

发表于 2014-6-16 11:57 |显示全部楼层
此文章由 无视 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 无视 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2014-6-16 10:52
我碰到过最BT的SQL面试题:

一个有大量dup的table,请用3种不同方法去除dup,

cte能用么?

退役斑竹

发表于 2014-6-16 11:59 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
无视 发表于 2014-6-16 10:57
cte能用么?

我没问,基本我说一个,他说这个不能用,再说一个,又不能用,如果temp table不给用,估计cte也不会给用的
Advertisement
Advertisement

发表于 2014-6-16 12:00 |显示全部楼层
此文章由 无视 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 无视 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2014-6-16 10:59
我没问,基本我说一个,他说这个不能用,再说一个,又不能用,如果temp table不给用,估计cte也不会给用 ...

cte结合着row_number 和partition是很流行的用法

退役斑竹

发表于 2014-6-16 12:01 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
无视 发表于 2014-6-16 11:00
cte结合着row_number 和partition是很流行的用法


对了,partition我也提了,不给用,row_number, rank之类的都不行。。。。

发表于 2014-6-16 12:05 |显示全部楼层
此文章由 adu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 adu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2014-6-16 10:59
我没问,基本我说一个,他说这个不能用,再说一个,又不能用,如果temp table不给用,估计cte也不会给用 ...

没有说cte不可用,应该可以用吧。

发表于 2014-6-16 12:05 |显示全部楼层
此文章由 无视 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 无视 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2014-6-16 11:01
对了,partition我也提了,不给用,row_number, rank之类的都不行。。。。

这就有点变态了,sql一共就30多种scenario,复杂的应用都是这些基本的组合,真不明白扣这些基本东西alteration干吗

发表于 2014-6-16 13:46 |显示全部楼层
此文章由 Bessy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Bessy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2014-6-16 11:01
对了,partition我也提了,不给用,row_number, rank之类的都不行。。。。

用HashTable.
Advertisement
Advertisement

发表于 2014-6-16 14:08 |显示全部楼层
此文章由 bookfish 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bookfish 所有!转贴必须注明作者、出处和本声明,并保持内容完整
谢谢分享

发表于 2014-6-16 14:35 |显示全部楼层
此文章由 小V老师 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小V老师 所有!转贴必须注明作者、出处和本声明,并保持内容完整
一般出变态考题的教官本身也没啥水平

做数据分析这行,技术顶多占20%,思维逻辑和对数据的激情才是80%的内容。互联网时代,还囿于教条式的考试方法,这个也不能用,那个也不能用,就为了考那个他自己知道的旮旯里面的那点知识,遇到这种教官,我也不要这工作了,先羞辱他一顿再说


评分

参与人数 1积分 +3 收起 理由
Fernando + 3 我很赞同

查看全部评分

发表于 2014-6-16 14:45 |显示全部楼层
此文章由 小V老师 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小V老师 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2014-6-16 10:23
其实写SQL确实不难,难的是同样的结果怎么用最快的速度得到。

即使不做DBA,BI,作为程序员懂一些index, ...


做数据分析用SQL和写代码用SQL的需求是不同的,性能不是数据分析最重要的部分,只要你不要犯很严重的错误,导致你的数据库性能极度下降,比如在没有index的情况下join两张特别大的表,类似这样的错误别犯就好了,一般情况下,做分析,数据在半小时内返回都是可以接受的

其实我这个帖子是侧重做数据分析的,不是针对程序员的,对程序员的要求是不同的,程序员写代码时候要求数据快速反应,他们的数据库一般是生产数据库,而做分析的数据库,很多都不能称为数据库,比如Hadoop,只是个文件系统,不支持事务,不支持index,也不能update,分析师跟数据库打交道,更多是逻辑正确,以及知道怎么跟数据库打交道,性能不是他们要考虑的重点,更不会写很多乱七八糟的variable

但作为分析师,你得懂如何建立connection,你在做tableau reports的时候应该需要知道如何连到tableau server。因此,即使针对SQL,不同的工种侧重的重点也不同。你说的例子更多是针对程序员的,如果一切都封装好了,程序员甚至只需要一个connection string就好了


发表于 2014-6-16 14:51 |显示全部楼层
此文章由 小V老师 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小V老师 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮 发表于 2014-6-16 10:57
没给答案,这是第四轮面试,面试的人从硅谷打来的,似乎是个大牛,但口音是印度人。。。。 ...

另外,硅谷的印度人多半不是大牛,除了会说,没啥本事,真心的,就算比你懂点东西,你也有他不懂的,环境不同而已。不要迷信别人。每个人都需要不停学习,所谓的大牛,无非就是在合适的时候,获得了不错的职业发展。但他们有很多东西,也压根不了解。

我现在要是遇到个华人,我可能还觉得人家技术不错,遇到老印,只要你比他气势强,绝对能盖过他,即使问了你不知道的的,你也可以反问他,让他知道中国人的厉害,呵呵

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部