




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
sql 相关的查询面试题收集及答案一 /查询某表中的第30到40行的数据select * from 表名 where 字段 in( select top 40 字段 from 表名 )and 字段 not in( select top 30 字段 from 表名) 或者select top 10 * from 表名 where 字段 not in( select top 30 字段 from 表名)二 /查询一个表中存在重复的字段“字段1”select DISTINCT 字段1 from 表名 having count(字段1)1 group by 字段1(并显示可能重复的次数)select DISTINCT 字段1, count(字段1) As 次数 from 表名 having count(字段1)1 group by 字段1某门户网站数据库职位笔试题1、事务是什么?2、oracle中truncate和delete命令有何区别?3、Oracle中char和varchar2数据类型有什么区别?有数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其存储长度及类型有何区别?4、参见如下表结构出版社: 出版社代码 char(2), 出版社名称 varchar2(32)图书: 图书编号 char(8), 图书名称 varchar2(128), 出版社代码 char(2), 作者代号 char(4), 图书简介 varchar2(128)作者: 作者代号 char(4), 作者名称 varchar2(10), 性别 char(1), 年龄 number(3), 文学方向 varchar2(64)获奖名单: 获奖日期 date, 获奖人员 char(4)编写SQL语句,找出“作者”库中没有出现在“获奖名单”库中所有作者信息的SQL语句(提示:使用not in、not exists以及外关联三种方法,并说明哪种方法最优。5、Oracle数据库表存在伪列rowid,请利用rowid编写一个SQL语句,从以下记录中找到唯一记录,并将其flag列更新为YNo name sex flag1 张三 1 N1 张三 1 N1 张三 1 N6、Oracle中,需要在查询语句中把空值(NULL)输出为0,如何处理?7、见第四题“获奖名单”表,写出SQL语句,查询出在上一个月获奖的人员。8、见第四题“图书”表,在表上对图书名称、出版社代码、作者代号创建了组合索引,请问在执行如下语句时会不会利用到索引。Select * from 图书 where 图书名称=xxxxSelect * from 图书 where 图书名称=xxxx and 出版社代码=bbSelect * from 图书 where 图书名称=xxxx and 作者代号=dddSelect * from 图书 where 出版社代码=yyy9、编写一个简单的Oracle存储过程,输出参数必须有一个是结果集。 专家对本试卷的分析: 第一,这张笔试卷从题目的考点上来看,属于基础知识类的; 第二,从难度上分析属于中等; 第三,从题目的设置上来看,该公司的主要用意是考察笔试者的工作经验和项目经验,尽管是基础知识,但是只要没做过开发工作,想回答上来并不容易; 第四,通篇只有第4题最后一问涉及到了“优化”的问题,因此判断该公司这张试题主要是面对开发职位的。请问在ASP中能否使用一条SQL语句同时操作两个表有两表Tab1,Tab2;1和2中有两相同字段“代码”,名称,现欲用Tab1中的“代码”和Tab2中代码相关联查询得到名称来填充Tab1中的“名称”字段,在查询分析器中该如何写此语句? update tab1 set 名称=tab2.名称 from tab1,tab2 where tab1.代码=tab2.代码 有两表Tab1,Tab2;1和2中有两相同字段“代码”,名称,现欲用Tab1中的“代码”和Tab2中代码相关联查询得到名称来填充Tab1中的“名称”字段,在查询分析器中该如何写此语句? update table1 set 名称=b.名称 from table1 a inner join table2 b on a.代码=b.代码1.磁盘柜上有14块73G的磁盘, 数据库为200G 大小包括日志文件,如何设置磁盘(要说明这14磁盘是怎么用的)?2.有两服务器群集,分别为node1和node2 现在要打win200系统补丁,打完后,要重新启动,如何打补丁,不能影响用户使用(要用群集的术语详细说明)。3.有一个A 数据库,分别复制到B和C B 要求 每次数据更新 也同时更新,C 每天更新一次就行,如何制定复制策略!4.有一个order 表,有90个字段,20个索引,15个复合索引,其中有3个索引字段超过10个,如何进行优化5.有一个数据库200G大小,每天增加50M 允许用户随时访问,制定备份策略(详细说明)。6.管理50台数据库,日常工作是检查数据库作业是否完成,你该如何完成这项检查工作?7.自定义函数和存储过程的区别是什么,什么情况下只能用自定义函数,什么情况下只能用存储过程8.SQL 2005 的新特性是什么 ? 与oracle 有什么区别?9.DBA 的品质应该有哪些,你有哪些, 有什么欠缺的?10。如果想配置SQL Mail 应该在服务器安装哪些软件!参考答案:1.磁盘柜上有14块73G的磁盘, 数据库为200G 大小包括日志文件,如何设置磁盘(要说明这14磁盘是怎么用的)?这个问题应该是考察硬件知识和数据库物理部署。首先需要知道这些磁盘是否要用于存放数据库备份文件和数据库性能(读/写)要求。来决定raid的级别。1)、如果偏重于性能考虑,而且不用存放数据库备份文件的话,考虑使用raid0+1,这样可使用的磁盘容量为:14*73*50%=511G。2)、如果读/写性能要求不高,而且还比较抠门的话,可以考虑raid5,这样可使用的磁盘容量为:13*73=949G。至于如何使用应该是说数据库物理文件的部署。注意说出将tempdb,data file,log file分开存放以减少I/O竞争即可。其实现在的条带化磁盘一般都会自动将文件分存,人为的分布已经越来越不重要了。2.有两服务器群集,分别为node1和node2 现在要打win200系统补丁,打完后,要重新启动,如何打补丁,不能影响用户使用(要用群集的术语详细说明)。这个具体操作有点忘了。大致是:首先看哪个节点正在使用,通过节点IP(私有)访问另一个空闲节点,为其打上补丁,然后在群集管理器中停止该节点(也可以用命令行方式),重新启动。等到启动完毕,将切换使用节点,为另一个节点打补丁。然后重新启动。3.有一个A 数据库,分别复制到B和C B 要求 每次数据更新 也同时更新,C 每天更新一次就行,如何制定复制策略!这个应该考察的是复制知识。a-b1)、如果使用SQL Server复制功能,那么让a-b使用事务性复制方式(同步复制)。2)、如果表不多,也可以自己写触发器,利用linkserver+distribute transaction。a-c1)、如果使用SQL Server复制功能,那么让a-b使用快照复制方式,在某一时间点进行一次性复制。2)、也可以自己写bat,将a备份后,通过ftp传输备份介质,恢复c。(比较麻烦,不推荐)4.有一个order 表,有90个字段,20个索引,15个复合索引,其中有3个索引字段超过10个,如何进行优化这个问题问的比较没水平。你不详细说明这个表的使用方式(读写类的,还是几乎是静态表),就问人家怎么优化?!还不如问问索引的分布访问原理更好。看得出他就想让你说:那三个索引超过10个,B树遍例效率很低,适当减少字段数目。如果是SQL2005,可以将选择性不好的字段放在“索引附加字段”中,以保证索引覆盖。而且SQL Server由于有锁升级的毛病,可以考虑拆开表。5.有一个数据库200G大小,每天增加50M 允许用户随时访问,制定备份策略(详细说明)。这种情况可以采用增量备份方式。每周日做一次全备份,周一到周六作增量备份(由于数据量较少,可以考虑每30分钟增量备份一次)。这样可以尽量减少性能消耗,而且如果transaction log丢失的情况下,可以保证最多丢失30分钟数据。6.管理50台数据库,日常工作是检查数据库作业是否完成,你该如何完成这项检查工作?这个比较简单。在每台机器上建立linkserver,然后在DBA管理服务器上做个分布式视图,每次查询该视图,各个机器上的作业情况一目了然。分布式视图写法:create view vw_jobasselect 机器一 as MName,* from linkserver1.sysjobactivityunion allselect 机器二 as MName,* from linkserver2.sysjobactivityunion allselect 机器三 as MName,* from linkserver3.sysjobactivity7.自定义函数和存储过程的区别是什么,什么情况下只能用自定义函数,什么情况下只能用存储过程这个应该是考察存储过程编写经验。一般自定义函数主要用于其他sql中的调用,如:select yourfunc(.) from table这种情况下,一般只能通过函数实现。存储过程的功能要远远强于函数,例如动态执行sql(sp_executesql)的使用和一些特殊的功能,自定义函数中是不支持的,只能用存储过程实现。8.SQL 2005 的新特性是什么 ? 与oracle 有什么区别?SQL 2005 的新特性一般都是和Oracle学的。下面是当时被leimin逼着写的,你可以做个参考:一、数据库设计方面1、字段类型。varchar(max)nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。但是这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQL Server的字段类型更加简洁统一。XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)2、外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。但是再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SET NULL 和 SET DEFAULT 属性,能够提供能好的级联设置。3、索引附加字段这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。4、计算字段的持久化原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。5、分区表分区表是个亮点!从分区表也能看出微软要做大作强SQL Server的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQL Server2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。但是需要注意的一点,也是我使用过程中发现的一个问题。在建立function-schema-table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。如果你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)6、CLR类型微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。但是作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。或者是要和操作系统进行Socket通讯的场景。否则建议慎重!7、索引视图索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。8、语句和事务快照语句级快照和事务级快照终于为SQL Server的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!9、数据库快照原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!10、MirrorMirror可以算是SQL Server的Data guard了。但是能不能被大伙用起来就不知道了。二、开发方面1、Ranking函数集其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQL Server2005的row_number比Oracle的更先进。因为它把Order by集成到了一起,不用像Oracle那样还要用子查询进行封装。但是大家注意一点。如下面的例子:select ROW_NUMBER() OVER (order by aa)from tblorder by bb会先执行aa的排序,然后再进行bb的排序。可能有的朋友会抱怨集成的order by,其实如果使用ranking函数,Order by是少不了的。如果担心Order by会影响效率,可以为order by的字段建立聚集索引,查询计划会忽略order by 操作(因为本来就是排序的嘛)。2、top可以动态传入参数,省却了动态SQL的拼写。3、Apply对递归类的树遍历很有帮助。4、CTE个人感觉这个真是太棒了!阅读清晰,非常有时代感。5、try/catch代替了原来VB式的错误判断。比Oracle高级不少。6、pivot/unpivot个人感觉没有case直观。而且默认的第三字段(还可能更多)作为group by字段很容易造成新手的错误。三、DBA管理方面1、数据库级触发器记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。2、多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。3、优化器的改进一直以来个人感觉SQL Server的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)论坛例子:/Expert/topic/4543/4543718.xml?temp=.4059874、profiler的新事件观察这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。5、sqlcmd习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQL Server Management Studio的朋友使用。四、遗憾1、登陆的控制始终遗憾SQL Server的登陆无法分配CPU/内存占用等指标数。如果你的SQL Server给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。而SQL Server如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。2、数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。但是同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。3、还是没有逻辑备份备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。4、SSIS(DTS)太复杂了SQL Server的异构移植功能个人感觉最好了。(如果对比过SQL Server的链接服务器和Oracle的透明网关的朋友会发现SQL Server的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了。与oracle 有什么区别?这个问题相当变态!不同点我能给他讲一天!首先名字就不一样嘛! :)9.DBA 的品质应该有哪些,你有哪些, 有什么欠缺的?略10。如果想配置SQL Mail 应该在服务器安装哪些软件!需要哪些软件?安个outlook express就可以了。sql server提供接口存储过程,非常简单。2007-09-27 10:16 | CryingSQL经典面试题及答案2007年07月27日 星期五 上午 08:421.一道SQL语句面试题,关于group by 表内容: 2005-05-09 胜 2005-05-09 胜 2005-05-09 负 2005-05-09 负 2005-05-10 胜 2005-05-10 负 2005-05-10 负 如果要生成下列结果, 该如何写sql语句? 胜 负 2005-05-09 2 2 2005-05-10 1 2 - create table #tmp(rq varchar(10),shengfu nchar(1) insert into #tmp values(2005-05-09,胜) insert into #tmp values(2005-05-09,胜) insert into #tmp values(2005-05-09,负) insert into #tmp values(2005-05-09,负) insert into #tmp values(2005-05-10,胜) insert into #tmp values(2005-05-10,负) insert into #tmp values(2005-05-10,负) 1)select rq, sum(case when shengfu=胜 then 1 else 0 end)胜,sum(case when shengfu=负 then 1 else 0 end)负 from #tmp group by rq 2) select N.rq,N.勝,M.負 from ( select rq,勝=count(*) from #tmp where shengfu=胜group by rq)N inner join (select rq,負=count(*) from #tmp where shengfu=负group by rq)M on N.rq=M.rq 3)select a.col001,a.a1 胜,b.b1 负 from (select col001,count(col001) a1 from temp1 where col002=胜 group by col001) a, (select col001,count(col001) b1 from temp1 where col002=负 group by col001) b where a.col001=b.col001 2.请教一个面试中遇到的SQL语句的查询问题 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。 - select (case when ab then a else b end ), (case when bc then b esle c end) from table_name 3.面试题:一个日期判断的sql语句? 请取出tb_send表中日期(SendTime字段)为当天的所有记录?(SendTime字段为datetime型,包含日期与时间) - select * from tb where datediff(dd,SendTime,getdate()=0 4.有一张表,里面有3个字段:语文,数学,英语。其中有3条记录分别表示语文70分,数学80分,英语58分,请用一条sql语句查询出这三条记录并按以下条件显示出来(并写出您的思路): 大于或等于80表示优秀,大于或等于60表示及格,小于60分表示不及格。 显示格式: 语文 数学 英语 及格 优秀 不及格 - select (case when 语文=80 then 优秀 when 语文=60 then 及格 else 不及格) as 语文, (case when 数学=80 then 优秀 when 数学=60 then 及格 else 不及格) as 数学, (case when 英语=80 then 优秀 when 英语=60 then 及格 else 不及格) as 英语, from table 5.在sqlserver2000中请用sql创建一张用户临时表和系统临时表,里面包含两个字段ID和IDValues,类型都是int型,并解释下两者的区别? - 用户临时表:create table #xx(ID int, IDValues int) 系统临时表:create table #xx(ID int, IDValues int) 区别: 用户临时表只对创建这个表的用户的Session可见,对其他进程是不可见的. 当创建它的进程消失时这个临时表就自动删除. 全局临时表对整个SQL Server实例都可见,但是所有访问它的Session都消失的时候,它也自动删除. 6.sqlserver2000是一种大型数据库,他的存储容量只受存储介质的限制,请问它是通过什么方式实现这种无限容量机制的。 - 它的所有数据都存储在数据文件中(*.dbf),所以只要文件够大,SQL Server的存储容量是可以扩大的. SQL Server 2000 数据库有三种类型的文件: 主要数据文件 主要数据文件是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是 .mdf。 次要数据文件 次要数据文件包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。次要数据文件的推荐文件扩展名是 .ndf。 日志文件 日志文件包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的推荐文件扩展名是 .ldf。 7.请用一个sql语句得出结果 从table1,table2中取出如table3所列格式数据,注意提供的数据及结果不准确,只是作为一个格式向大家请教。 如使用存储过程也可以。 table1 月份mon 部门dep 业绩yj - 一月份 01 10 一月份 02 10 一月份 03 5 二月份 02 8 二月份 04 9 三月份 03 8 table2 部门dep 部门名称dname - 01 国内业务一部 02 国内业务二部 03 国内业务三部 04 国际业务部 table3 (result) 部门dep 一月份 二月份 三月份 - 01 10 null null 02 10 8 null 03 null 5 8 04 null null 9 - 1) select a.部门名称dname,b.业绩yj as 一月份,c.业绩yj as 二月份,d.业绩yj as 三月份 from table1 a,table2 b,table2 c,table2 d where a.部门dep = b.部门dep and b.月份mon = 一月份 and a.部门dep = c.部门dep and c.月份mon = 二月份 and a.部门dep = d.部门dep and d.月份mon = 三月份 and 2) select a.dep, sum(case when b.mon=1 then b.yj else 0 end) as 一月份, sum(case when b.mon=2 then b.yj else 0 end) as 二月份, sum(case when b.mon=3 then b.yj else 0 end) as 三月份, sum(case when b.mon=4 then b.yj else 0 end) as 四月份, sum(case when b.mon=5 then b.yj else 0 end) as 五月份, sum(case when b.mon=6 then b.yj else 0 end) as 六月份, sum(case when b.mon=7 then b.yj else 0 end) as 七月份, sum(case when b.mon=8 then b.yj else 0 end) as 八月份, sum(case when b.mon=9 then b.yj else 0 end) as 九月份, sum(case when b.mon=10 then b.yj else 0 end) as 十月份, sum(case when b.mon=11 then b.yj else 0 end) as 十一月份, sum(case when b.mon=12 then b.yj else 0 end) as 十二月份, from table2 a left join table1 b on a.dep=b.dep 8.华为一道面试题 一个表中的Id有多个记录,把所有这个id的记录查出来,并显示共有多少条记录数。 - select id, Count(*) from tb group by id having count(*)1 select * from(select count(ID) as count from table group by ID)T where T.count1 一道经典SQL面试题及答案现在我们假设只有一个table,名为pages,有四个字段,id, url,title,body。里面储存了很多网页,网页的url地址,title和网页的内容,然后你用一个sql查询将url匹配的排在最前, title匹配的其次,body匹配最后,没有任何字段匹配的,不返回。就是上面这道面试题,让我想了一个下午,在网上找资料,最后用下面方法实现SELECT *FROM page where url like %baidu% or title like %baidu% or like ORDER BY CHARINDEX(baidu, url) DESC, CHARINDEX(baidu, title) DESC, CHARINDEX(baidu, body) DESC 但我感觉这种方法并不是最简单的,后来把这个方法发给面试的人,他给我了一种更简单方法,只要用基本的Sql语句就可以实现。代码如下select a.id,a.mark from(select page.id,100 as mark from page where page.url like %baidu%unionselect page.id,50 as mark from page where page.title like %baidu%unionselect page.id,10 as mark from page where page.body like %baidu%) as a order by mark desc 用union 实现联合查询,在每个查询语句中定义一个临时变量mark 并给mark赋值,在最后的输出时采用mark来排序,这样实现,非常简单,我感觉这题更多考研我们的编程思想。select url,title,body from pages where url or title or body 1.一道SQL语句面试题,关于group by表内容:2005-05-09 胜2005-05-09 胜2005-05-09 负2005-05-09 负2005-05-10 胜2005-05-10 负2005-05-10 负如果要生成下列结果, 该如何写sql语句?胜 负2005-05-09 2 22005-05-10 1 2-create table #tmp(rq varchar(10),shengfu nchar(1)insert into #tmp values(2005-05-09,胜)insert into #tmp values(2005-05-09,胜)insert into #tmp values(2005-05-09,负)insert into #tmp values(2005-05-09,负)insert into #tmp values(2005-05-10,胜)insert into #tmp values(2005-05-10,负)insert into #tmp values(2005-05-10,负)1)select rq, sum(case when shengfu=胜 then 1 else 0 end)胜,sum(case when shengfu=负 then 1 else 0 end)负 from #tmp group by rq2) select N.rq,N.勝,M.負 from (select rq,勝=count(*) from #tmp where shengfu=胜group by rq)N inner join(select rq,負=count(*) from #tmp where shengfu=负group by rq)M on N.rq=M.rq3)select a.col001,a.a1 胜,b.b1 负 from(select col001,count(col001) a1 from temp1 where col002=胜 group by col001) a,(select col001,count(col001) b1 from temp1 where col002=负 group by col001) bwhere a.col001=b.col0012.请教一个面试中遇到的SQL语句的查询问题表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。-select (case when ab then a else b end ),(case when bc then b esle c end)from table_name3.面试题:一个日期判断的sql语句?请取出tb_send表中日期(SendTime字段)为当天的所有记录?(SendTime字段为datetime型,包含日期与时间)-select * from tb where datediff(dd,SendTime,getdate()=04.有一张表,里面有3个字段:语文,数学,英语。其中有3条记录分别表示语文70分,数学80分,英语58分,请用一条sql语句查询出这三条记录并按以下条件显示出来(并写出您的思路): 大于或等于80表示优秀,大于或等于60表示及格,小于60分表示不及格。 显示格式: 语文 数学 英语 及格 优秀 不及格 -select(case when 语文=80 then 优秀when 语文=60 then 及格else 不及格) as 语文,(case when 数学=80 then 优秀when 数学=60 then 及格else 不及格) as 数学,(case when 英语=80 then 优秀when 英语=60 then 及格else 不及格) as 英语,from table5.在sqlserver2000中请用sql创建一张用户临时表和系统临时表,里面包含两个字段ID和IDValues,类型都是int型,并解释下两者的区别?-用户临时表:create table #xx(ID int, IDValues int)系统临时表:create table #xx(ID int, IDValues int)区别:用户临时表只对创建这个表的用户的Session可见,对其他进程是不可见的.当创建它的进程消失时这个临时表就自动删除.全局临时表对整个SQL Server实例都可见,但是所有访问它的Session都消失的时候,它也自动删除.6.sqlserver2000是一种大型数据库,他的存储容量只受存储介质的限制,请问它是通过什么方式实现这种无限容量机制的。-它的所有数据都存储在数据文件中(*.dbf),所以只要文件够大,SQL Server的存储容量是可以扩大的.SQL Server 2000 数据库有三种类型的文件:主要数据文件主要数据文件是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是 .mdf。次要数据文件次要数据文件包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。次要数据文件的推荐文件扩展名是 .ndf。日志文件日志文件包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的推荐文件扩展名是 .ldf。7.请用一个sql语句得出结果从table1,table2中取出如table3所列格式数据,注意提供的数据及结果不准确,只是作为一个格式向大家请教。如使用存储过程也可以。table1月份mon 部门dep 业绩yj-一月份 01 10一月份 02 10一月份 03 5二月份 02 8二月份 04 9三月份 03 8table2部门dep 部门名称dname-01 国内业务一部02 国内业务二部03 国内业务三部04 国际业务部table3 (result)部门dep 一月份 二月份 三月份-01 10 null null02 10 8 null03 null 5 804 null null 9-1)select a.部门名称dname,b.业绩yj as 一月份,c.业绩yj as 二月份,d.业绩yj as 三月份from table1 a,table2 b,table2 c,table2 dwhere a.部门dep = b.部门dep and b.月份mon = 一月份 anda.部门dep = c.部门dep and c.月份mon = 二月份 anda.部门dep = d.部门dep and d.月份mon = 三月份 and2)select a.dep,sum(case when b.mon=1 then b.yj else 0 end) as 一月份,sum(case when b.mon=2 then b.yj else 0 end) as 二月份,sum(case when b.mon=3 then b.yj else 0 end) as 三月份,sum(case when b.mon=4 then b.yj else 0 end) as 四月份,sum(case when b.mon=5 then b.yj else 0 end) as 五月份,sum(case when b.mon=6 then b.yj else 0 end) as 六月份,sum(case when b.mon=7 then b.yj else 0 end) as 七月份,sum(case when b.mon=8 then b.yj else 0 end) as 八月份,sum(case when b.mon=9 then
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年天津市河东区中考二模物理试题(解析版)
- 小学6年级毕业考试试卷及答案
- 初一期末考试试卷及答案
- 蒸馏法课件教学课件
- 2025年北京高考物理试题+答案
- 2025年高考历史试题分类汇编:中国古代史(先秦-魏晋)选择题解析版
- 2025年辽宁省中式面点师(初级)证考试题库
- 橡胶船物理题目及答案
- 乡村幼师答辩题目及答案
- 2025采购合同样式范文
- 四上科学第一单元《多样的动物》知识梳理
- 三字经全文带拼音打印版带翻译
- 微观经济学-范里安varian中级
- 山东省青岛市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
- 《印章移交登记表》
- 电缆护套感应电压计算
- 四年级上册心理健康教育课件-健康的情绪表达 全国通用(共16张PPT)
- 第5章金属在自然环境中的腐蚀ppt课件
- 个文言实词练习(学生版)
- 集成电路版图设计(适合微电子专业)
- 安全工程燃烧学课件第一章燃烧与爆炸的化学基础
评论
0/150
提交评论