当前位置:首页 » 编程语言 » sqlserver面试题

sqlserver面试题

发布时间: 2023-04-11 20:57:31

1. 50分求sql

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 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','负')

select * from #tmp
select rq, shengfu from #tmp group by rq,shengfu
select rq, shengfu from #tmp group by shengfu,rq
select rq, shengfu,sum(shengfu) from #tmp group by shengfu,rq

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 a>b then a else b end ),
(case when b>c 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.count>1

实在没空发邮件。。。在这收吧

2. 今天去面试,有一道题问我,2个G的文件,如何读取到数据库中去

用Image类型,可存数据流。
但2个G,如果考虑实际效率,可能要分包来放,如果直接写到一个字段中,可能会sql执行超时。
我的答案可能会是:
1. 看文件类型选择是否先压缩,因为压缩会占很长的时间,要看所花的时间和节省下的空间是否值得。
2. 将文件按一定大小拆成多个小的文件,根据网速和服务器性能,决定拆后文件的大小蠢锋,决定的依据是在数据库高并发情况下执行每个单独的SQL不超过30秒为宜。
3. 将每个小的文件按一定规则存入数乱档段据库中的一个表的多笔记录中,image类型的字段,表要建文件名、拆包顺序之类的字段,方便读取后拼成原哗誉来的文件。

3. 惠普数据库类笔试题和面试题答案

惠普招聘常考的笔试题目主要考数据库相关知识:
1.Hashtable和HashMap有什么区别?

2.你怎么理解MVC模式?

3.SQLServer中左联接查询用left join,Oracle中用什么?

4.SQLServer中的数据库,在Oracle中对应的是什么?

5.如果SQLServer中有两个数据库,那么让你把这两个数据库对应到Oracle中,你应该怎么做?

6.有两个页面a.jsp和b.jsp,要从a.jsp传值到b.jsp有几种方法?分别是什么?

7.有三个页面,a.jsp,b.jsp和c.jsp,流程是:a.jsp->b.jsp->c.jsp,其中a.jsp中提交的数据要在c.jsp中访问,用最简单的方法怎么做?注意不能放在session里

7.jsp和servlet有什么区别?

8.映射是什么?你怎么理解映射?

9.Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构?

10.SQLServer支持集群吗?

11.为什么要用MVC?我从JSP页面直接访问数据库不是更简单吗,为什么非要先提交到控制器再做处理?

12.在struts中,假设有一个对数据库中一张表的增删改查的操作,你是写一个action还是写多个action?为什么?

13.struts中的actionform有什么好处?

14.用过Hibernate吗,用它有什么好处?

15.通常所说的web应用程序分3层,即MVC,如果我想分4层,应该怎么分?

4. SQL查询面试题与答案

SQL查询面试题与答案

SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。下面是我搜集的SQL查询面试题与答案,欢迎大家阅读。

SQL查询面试题与答案一

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 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 a>b then a else b end ),

(case when b>c 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.count>1

SQL查询面试题与答案二

1、查询不同老师所教不同课程平均分从高到低显示

SELECT max(Z.T#) AS 教师ID,MAX(Z.Tname) AS 教师姓名,C.C# AS 课程ID,MAX(C.Cname) AS 课程名称,AVG(Score) AS 平均成绩

FROM SC AS T,Course AS C ,Teacher AS Z

where T.C#=C.C# and C.T#=Z.T#

GROUP BY C.C#

ORDER BY AVG(Score) DESC

2、查询如下课程成绩第 3 名到第 6 名的学生成绩单:企业管理(001),马克思(002),UML (003),数据库(004)

[学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩

SELECT DISTINCT top 3

SC.S# As 学生学号,

Student.Sname AS 学生姓名 ,

T1.score AS 企业管理,

T2.score AS 马克思,

T3.score AS UML,

T4.score AS 数据库,

ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0) as 总分

FROM Student,SC LEFT JOIN SC AS T1

ON SC.S# = T1.S# AND T1.C# = '001'

LEFT JOIN SC AS T2

ON SC.S# = T2.S# AND T2.C# = '002'

LEFT JOIN SC AS T3

ON SC.S# = T3.S# AND T3.C# = '003'

LEFT JOIN SC AS T4

ON SC.S# = T4.S# AND T4.C# = '004'

WHERE student.S#=SC.S# and

ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0)

NOT IN

(SELECT

DISTINCT

TOP 15 WITH TIES

ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0)

FROM sc

LEFT JOIN sc AS T1

ON sc.S# = T1.S# AND T1.C# = 'k1'

LEFT JOIN sc AS T2

ON sc.S# = T2.S# AND T2.C# = 'k2'

LEFT JOIN sc AS T3

ON sc.S# = T3.S# AND T3.C# = 'k3'

LEFT JOIN sc AS T4

ON sc.S# = T4.S# AND T4.C# = 'k4'

ORDER BY ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0) DESC);

3、统计打印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]

SELECT SC.C# as 课程ID, Cname as 课程名称

,SUM(CASE WHEN score BETWEEN 85 AND 100 THEN 1 ELSE 0 END) AS [100 - 85]

,SUM(CASE WHEN score BETWEEN 70 AND 85 THEN 1 ELSE 0 END) AS [85 - 70]

,SUM(CASE WHEN score BETWEEN 60 AND 70 THEN 1 ELSE 0 END) AS [70 - 60]

,SUM(CASE WHEN score < 60 THEN 1 ELSE 0 END) AS [60 -]

FROM SC,Course

where SC.C#=Course.C#

GROUP BY SC.C#,Cname;

4、查询学生平均成绩及其名次

SELECT 1+(SELECT COUNT( distinct 平均成绩)

FROM (SELECT S#,AVG(score) AS 平均成绩

FROM SC

GROUP BY S#

) AS T1

WHERE 平均成绩 > T2.平均成绩) as 名次,

S# as 学生学号,平均成绩

FROM (SELECT S#,AVG(score) 平均成绩

FROM SC

GROUP BY S#

) AS T2

ORDER BY 平均成绩 desc;

5、查询各科成绩前三名的记录:(不考虑成绩并列情况)

SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数

FROM SC t1

WHERE score IN (SELECT TOP 3 score

FROM SC

WHERE t1.C#= C#

ORDER BY score DESC

)

ORDER BY t1.C#;

6、查询每门课程被选修的学生数

select c#,count(S#) from sc group by C#;

7、查询出只选修了一门课程的全部学生的学号和姓名

select SC.S#,Student.Sname,count(C#) AS 选课数

from SC ,Student

where SC.S#=Student.S# group by SC.S# ,Student.Sname having count(C#)=1;

8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;

Select S#,Sname from (select Student.S#,Student.Sname,score ,(select score from SC SC_2 where SC_2.S#=Student.S# and SC_2.C#='002') score2

from Student,SC where Student.S#=SC.S# and C#='001') S_2 where score2

9、查询所有课程成绩小于60分的同学的学号、姓名;

select S#,Sname

from Student

where S# not in (select Student.S# from Student,SC where S.S#=SC.S# and score>60);

10、查询没有学全所有课的同学的学号、姓名;

select Student.S#,Student.Sname

from Student,SC

where Student.S#=SC.S# group by Student.S#,Student.Sname having count(C#) <(select count(C#) from Course);

11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;

select S#,Sname from Student,SC where Student.S#=SC.S# and C# in select C# from SC where S#='1001';

12、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名;

select distinct SC.S#,Sname

from Student,SC

where Student.S#=SC.S# and C# in (select C# from SC where S#='001');

13、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;

update SC set score=(select avg(SC_2.score)

from SC SC_2

where SC_2.C#=SC.C# ) from Course,Teacher where Course.C#=SC.C# and Course.T#=Teacher.T# and Teacher.Tname='叶平');

14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;

select S# from SC where C# in (select C# from SC where S#='1002')

group by S# having count(*)=(select count(*) from SC where S#='1002');

15、删除学习“叶平”老师课的SC表记录;

Delect SC

from course ,Teacher

where Course.C#=SC.C# and Course.T#= Teacher.T# and Tname='叶平';

16、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“003”课程的同学学号、2、

号课的平均成绩;

Insert SC select S#,'002',(Select avg(score)

from SC where C#='002') from Student where S# not in (Select S# from SC where C#='002');

17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示: 学生ID,,数据库,企业管理,英语,有效课程数,有效平均分

SELECT S# as 学生ID

,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='004') AS 数据库

,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='001') AS 企业管理

,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='006') AS 英语

,COUNT(*) AS 有效课程数, AVG(t.score) AS 平均成绩

FROM SC AS t

GROUP BY S#

ORDER BY avg(t.score)

18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分

SELECT L.C# As 课程ID,L.score AS 最高分,R.score AS 最低分

FROM SC L ,SC AS R

WHERE L.C# = R.C# and

L.score = (SELECT MAX(IL.score)

FROM SC AS IL,Student AS IM

WHERE L.C# = IL.C# and IM.S#=IL.S#

GROUP BY IL.C#)

AND

R.Score = (SELECT MIN(IR.score)

FROM SC AS IR

WHERE R.C# = IR.C#

GROUP BY IR.C#

);

19、按各科平均成绩从低到高和及格率的百分数从高到低顺序

SELECT t.C# AS 课程号,max(course.Cname)AS 课程名,isnull(AVG(score),0) AS 平均成绩

,100 * SUM(CASE WHEN isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT(*) AS 及格百分数

FROM SC T,Course

where t.C#=course.C#

GROUP BY t.C#

ORDER BY 100 * SUM(CASE WHEN isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT(*) DESC

20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(001),马克思(002),OO&UML (003),数据库(004)

SELECT SUM(CASE WHEN C# ='001' THEN score ELSE 0 END)/SUM(CASE C# WHEN '001' THEN 1 ELSE 0 END) AS 企业管理平均分

,100 * SUM(CASE WHEN C# = '001' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '001' THEN 1 ELSE 0 END) AS 企业管理及格百分数

,SUM(CASE WHEN C# = '002' THEN score ELSE 0 END)/SUM(CASE C# WHEN '002' THEN 1 ELSE 0 END) AS 马克思平均分

,100 * SUM(CASE WHEN C# = '002' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '002' THEN 1 ELSE 0 END) AS 马克思及格百分数

,SUM(CASE WHEN C# = '003' THEN score ELSE 0 END)/SUM(CASE C# WHEN '003' THEN 1 ELSE 0 END) AS UML平均分

,100 * SUM(CASE WHEN C# = '003' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '003' THEN 1 ELSE 0 END) AS UML及格百分数

,SUM(CASE WHEN C# = '004' THEN score ELSE 0 END)/SUM(CASE C# WHEN '004' THEN 1 ELSE 0 END) AS 数据库平均分

,100 * SUM(CASE WHEN C# = '004' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '004' THEN 1 ELSE 0 END) AS 数据库及格百分数

FROM SC

;

5. Sqlserver这个第二题是什么意思怎么写求各位帮帮忙

注意点:考察两表连接、分组、max函数
细节:分组按照学生编号,因为名字可能会重复。表中有的状态条件模哪肆应该在条件中加上旦轿,
个人认为Bu_Stature=1为有缓穗效学生,del为0为有效成绩,科目没有标明类型,用中文直接赛选条件。

SELECTu.`Bu_Name`AS姓名,MAX(f.`FS`)AS最高语文分数FROMHR_BI_UserInfou
LEFTJOINHR_BI_UserInfo_FSf
ONu.`User_Id`=f.`User_Id`
WHEREf.`KM`='语文'ANDu.`Bu_Stature`=1ANDf.`del`=0
GROUPBYu.`Bu_Code`

6. SQL面试题,谢谢,麻烦了

1 select to_char(regdate,'yyyymm'),count(*) from a group by to_char(regdate,'yyyymm');

2 select name,count(*) from a group by name;

3 insert into c select id,name from a where name in (select name from a group by name having count(*)>1);

4 select * from a, (select name,max(regdate) from a group by name ) as d where a.name=d.name and a.regdate=d.regdate

这里用to_char了,说明是oracle库,LS的那是sqlserver的查法

7. 拜求sqlserver语句面试题!有相关资料请发一些!

1)增量备份,完全备脊轮则份的差异;
2)ddl;
3)图书系统,借还程序存储过程实樱棚现等桐蠢

8. SQL Server面试题 面试要点

人左右的企业——SQL Server 标准版 人左右的企业——SQL Server 企业版 SQL Server 有几种安装方式? )本地全新安装 家里装的一般就是这种 默认为系统用户 域用户也可以 但密码修改后会出问题 所以启动服务帐户的密码在安全性里改 )本地升级安装 )远程安装 )无人值守安装好码蠢 本地全新安装中身份验证模式分为 )Windows身份验证模式 )混合模式(Windows 身份验证和 SQL Server 身份验证) 安装后生成的组件有哪些? )企业管理器 )事件探查器(跟踪) )查询分析器(执行T SQL语句) )客户端网络实用工具 )联机丛书(帮助)

SQL Server服务有哪几种? )SQL Server服务(主服务) )SQL Server Agent服务 )Microsoft Search(全文本检索引擎服务) )Distributed Transaction Coordinator(管理分布式事务友陪服务) )MSSQL ServerADHelper服务(发布到活动目录) )和 )的每一个实例都要一一对应 如何管理服务? )通过Windows 服务管理器管理 )win 管理工具——服务(自带) 另外 对服务可以进行启动 暂停 停止 暂停的作用是 已连接到服务器的用户可完成任务 但不允许有新的连接 对SQL Server服务进行管理的是企业管理器 管理时要注册 把企业管理器和服务器进行连接 也可以注册远程服务器 对SQL Server属性配置 )常规 )内存 )处理器 )安全性 )还原 )服务器设置 )数据库设置 )复制 )Active Directory (修改完后要重启 ) 客户机如何连接服务器?在客户机上安装仅客户端工具 再通过企业管理器去连接 客户机与服务器连接两种协议 TCP/IP协议和命名管道协议 如何提高访问服务器的安全性? )修改端口模宴(默认为 ) )删除命名管道

lishixin/Article/program/SQLServer/201404/30569

9. 有关SQL的面试题。。。

1、忍不住想说一句,因为第一题中的字段类型是
【日期型】,而各种数据库操作日期型数据有不同的方法,没有一种共通的方法,所以脱离了数据库而言没有一种共通的sql。
2、select
id,name,address,phone,logdate
from
t
where
id
in(
select
id
from
t
group
by
name
having
count(*)>1)
order
by
name;
3、delete
from
t
where
id
not
in
(select
min(id)
from
t
group
by
name);
4、update
t
set
t.address=(select
e.address
from
e
where
e.name=t.name),
t.phone=(select
e.phone
from
e
where
e.name=t.name);
5、这个不同的数据库也有不同的处理方法,不能脱离数据库谈了。
如:sqlserver或者access可以使用
top
oracle可以使用
rownum

---
以上,希望对你有所帮助。

10. 网络工程师面试题()(2)

38.小强在公司要查询www.tsinghua.e.cn这个DNS名称对应的IP地址时,肆碰圆其正确的查询过程是:______。

①.查询公司默认的DNS服务器

②.查询ROOT DNS服务器

③.查询.CN 域的DNS服务器

④.查询.EDU.CN 域的DNS服务器

⑤.查询.TSINGHUA.EDU.CN 域的DNS服务器

A.①②③④⑤

B.①③④⑤②

C.①⑤

D.⑤④③②①

20题

40.系统中有用户user1和user2,同属于users组。在user1用户目录下有一文件file1,它拥有644的权限,如果user2用户想修改user1用户目录下的file1文件,应拥有______权限。

A.744

B.664

C.646

D.746

41.以下哪条命令可以改变文件file的所有者为Sam________?

A.chmod Sam file

B.chown Sam file

C.chgrp Sam file

D.umask Sam file

42.一个文件的权限为“rwxr-----”,那么以下哪个说法是正确的_______?

A.所有用户都可以执行写操作

B.只有所有者可以执行写操作

C.所有者和所属组可以执行写操作

D.任何人都不能执行写操作

43.下面哪条命令可以把一个压缩的打包文件解压并解包_______?

A.tar cvf

B.tar xvf

C.tar zcvf

D.tar zxvf

45.若命令mkdir具有SetUID的s权限位,问当普通用户Sam执行命令mkdir时,新建的目录所有者为哪个用户________?

A.Sam

B.users

C.root

D.sys

47.哪条命令可以查看到系统中被挂起的进程________?

A.bg

B.renice

C.jobs

D.who

49.如果你的umask设置为022,缺省的,你创吵哪建的文件的权限为:________。

A.----w--w-

B.-w--w----

C.r-xr-x---

D.rw-r--r--

51.作为一个管理员,你希望在每一个新用户的目录下放一个文件 .bashrc ,那么你应该在哪个目录下放这个文件,以便于新用户创建主目录时自动将这个文件复制到自己的目录下。

A./etc/skel/

B./etc/default/

C./etc/defaults/

D./etc/profile.d/

52.在linux中有关IDE设备命名编号正确的有________。

A.sda 第一个 IDE 控制器,主设备

B.sdb 第二个 IDE 控制器,次设备

C.hdb 第二个 IDE 控制器,主设备

D.hda 第一个 IDE 控制器,主设裂塌备

56.Samba服务器的'进程由________两部分组成。

A.named和sendmail

B.smbd和nmbd

C.bootp和dhcpd

D.httpd和squid

57.对于系统中的进程named(进程号2567),可以通过命令________强行结束。

A.service named stop

B./etc/rc.d/init.d named stop

C.kill -9 named

D.kill -9 2567

< SQL Server >10题

60.若用如下的SQL语句创建了一个表S: CREATE TABLE S(SID CHAR(6) NOT NULL, SNAME CHAR(8) NOT NULL,SEX CHAR(2),AGE INTEGER) 今向S表插入如下行时,________可以给插入。

A.(‘991001’,‘李明芳’,女,‘23’)

B.(‘990746’,'张为’,NULL,NULL)

C.(,‘陈道一’,‘男’,32)

D.(‘992345’,NULL,‘女’,25)

61.从货物定单数据表(order)中查询出其中定单金额(order_price)在1000和5000之间的定单的详细信息,并按照定单金额(order_price)降序排列。正确的语句是_________。

A.Select * from order where [order_price] between 1000 and 5000

order by [order_price] ASC

B.Select * from order where [order_price] between 1000 and 5000

order by [order_price] DESC

C.Select * from order where 1000<[order_price]<5000 order by [order_price] ASC

D.Select * from order where 1000<[order_price]<5000 order by [order_price] DESC

62.建立数据库时,将年龄字段值限制在12~14之间的这种约束属于_______。

A.实体完整性约束

B.域完整性约束

C.参照完整性约束

D.视图完整性约束

63.下列有关SQL Server 2000中,master数据库的说法不正确的是________。

A.用户数据库可以重命名,master数据库不能重命名

B.master数据库记录SQLServer的所有系统信息

C.master数据库在安装SQLServer的过程中自动安装

D.不可以重建master数据库

64.对数据库的修改操作要遵循的一个原则是:要么操作全部完成,要么不进行操作。这个原则可以认为是事务的________特性。

A.一致性B.持久性C.原子性D.隔离性

65.查询city列的值为空的记录,在where子句中的条件应写为________。

A.ity=null

B.city='null'

C.city is null

D.city is 'null'

66.在SQL SERVER中,下列哪些语句属于给局部变量赋值的语句________。

A.DECLAREB.SET C.USE D.GET

67.A表有25条记录,B表有8条记录,执行语句

SELECT A.columnl,B.columnl

FROM A LEFF JOIN B

WHERE A.column2=B.column2

返回的结果集中的记录数为________。

A.25 B.8 C.33 D.200

68.count与count(*)的区别是________?

A.无区别

B.count是聚合函数,count(*)不是聚合函数

C.count统计空格而COUNT(×)不统计

D.count(*)统计NULL值 ,而COUNT 不统计

69.________包含了一组数据库操作命令,并且所有的命令作为一个整体一起向系统提交或撤消操作请求。

A.事务 B.更新 C.插入 D.以上都不是

70.frameset的含义是________。

A.表单

B.表格

C.链接

D.框架集

74.如果想获得细的表格边框线的效果,可以_________。

A.可以将table标签中的border属性设置为1

B.可以将table标签中的border属性设置为0

C.手写代码是写不出的

D.可以通过设置表格的背景色与单元格的背景色不同,并且对order,cellspacing,cellpadding的属性值进行控制得到

75.以下HTML代码中,________是将词语“Run Away Bride”显示为Verdana字体并且字号为5号的正确代码。

A. Run Away Bride

b. Run Away Bride

c.“Run Away Bride”

d.

76.在标签中,下列________属性用于给参数传递内容。

A.Address

B.Value

C.Amount

D.Method

二 多项选择题(每题中至少有两个正确答案,少选、多选、错选均不得分,每题1分,共20分)

81.下列命令中,哪些命令可以使路由器进入线路配置模式________?

A.vty 0

B.line vty 0 4

C.console 0

D.line console 0

82.在哪两个设备之间可以实现全双工操作________?

A.交换机到主机

B.交换机到交换机

C.hub 到 hub

D.交换机到 hub

83.以下命令中哪些命令可以看到路由器IOS的信息________。

A.show running-config

B.show flash

C.show version

D.show startup-config

84.TCP/IP 参考模型中没有________。

A.网络层

B.传输层

C.会话层

D.表示层

86.下列对Windows 2003域控制器的描述哪些是正确的:_______。

A.域控制器中存储域的部分目录信息

B.域控制器中存储域的完整目录信息

C.一个域中只能有一台域控制器

D.一个域中可以有多台域控制器

87.在Windows 2000 Server的内建组中成员可以创建新用户________。

A.Users

B.Backup Operators

C.Power Users

D.Administrators

88.下列对DNS记录的描述哪些是正确的:_______。

A.A记录将主机名映射为IP地址

B.MX记录标识域的邮件交换服务

C.PTR记录将IP地址指向主机名

D.NS记录规定主机的别名

89.要提供DHCP服务,DHCP服务器必需具备哪些条件:________。

A.具有静态配置的IP地址

B.具有作用范围的有效IP地址范围

C.配置有缺省网关

D.配置有子网掩码

90.使用分布式文件系统的好处有:________。

A.易于访问文件

B.增加文件访问性

C.服务器负载均衡

D.统一设定文件权限

91.HTML是一个纯文本文档,但是与普通的纯文本文档相比,HTML文档具有以下特点_____

A.结构化

B.超文本

C.与平台无关

D.简单,易维护

92.以下哪些是动态网页的后缀______

A.*.asp

B.*.txt

C.*.php

D.*.cgi

94.下是SQL Server2000数据库文件的有________。

A.mdf文件

B.mdb文件

C.ldf文件

D.frm文件

95.关于对SQL Server数据库表的重命名,以下的说话正确的是________。

A.可以在企业管理器中修改表的名称

B.可以在查询分析器中使用T-SQL为表重明名

C.SQL Server 2000中,必须执行拷贝粘贴操作才能进行表的结构复制

D.SQL Server 2000中,不允许进行表的重命名

96.在Linux操作系统中的/etc/passwd文件包括的基本选项有________。

A.用户ID

B.加密的密码值

C.用户登录Shell

D.用户登录目录

97.启用配额的命令是________。

A.Usrquota

B.Grpquota

C.Rootquota

D.Userquota

98.配置DNS服务器时,三个最基本的文件是________。

A./etc/named.conf(主配置文件)

B./var/named/localhost.zone(正向解析库文件)

C./var/named/named.local(反向解析库文件)

D./etc/reslov.conf(客户端文件)

100./etc/samba/smb.conf主要包括哪几部分________。

A.global(全局)参数

B.directory shares(目录共享)

C.file shares(文件共享)

D.printer shares(打印共享)

热点内容
java微信公众号开发 发布:2024-11-02 04:35:29 浏览:586
php对象转为数组 发布:2024-11-02 04:33:45 浏览:719
阿里云启动服务器 发布:2024-11-02 04:31:51 浏览:110
数控编译错误802怎么解决 发布:2024-11-02 04:31:42 浏览:320
linux如何安装驱动 发布:2024-11-02 04:30:18 浏览:490
云服务器项目实施方案 发布:2024-11-02 04:26:00 浏览:246
写入存储 发布:2024-11-02 04:20:21 浏览:30
JavaString替换 发布:2024-11-02 04:14:29 浏览:560
百度查询脚本 发布:2024-11-02 04:14:22 浏览:99
阴阳师ios如何登录安卓 发布:2024-11-02 04:03:03 浏览:708