sql经典面试题.doc

上传人:飞****9 文档编号:134140862 上传时间:2020-06-03 格式:DOC 页数:25 大小:82.50KB
返回 下载 相关 举报
sql经典面试题.doc_第1页
第1页 / 共25页
sql经典面试题.doc_第2页
第2页 / 共25页
sql经典面试题.doc_第3页
第3页 / 共25页
sql经典面试题.doc_第4页
第4页 / 共25页
sql经典面试题.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《sql经典面试题.doc》由会员分享,可在线阅读,更多相关《sql经典面试题.doc(25页珍藏版)》请在金锄头文库上搜索。

1、1.张表,学生表S,课程C,学生课程表SC,学生可以选修多门课程,一门课程可以被多个学生选修,通过SC表关联;(SQL)1)写出建表语句;答:建表语句如下(mysql数据库):create table s(id integer primary key, name varchar(20);create table c(id integer primary key, name varchar(20);create table sc(sid integer references s(id),cid integer references c(id),primary key(sid,cid);2)写出S

2、QL语句,查询选修了所有选修课程的学生;答:SQL语句如下:select stu.id, stu.name from s stuwhere (select count(*) from sc where sid=stu.id) =(select count(*) from c);3)写出SQL语句,查询选修了至少5门以上的课程的学生。答:SQL语句如下:select stu.id, stu.name from s stuwhere (select count(*) from sc where sid=stu.id)=5;2.数据库表(Test)结构如下:(SQL)IDNAMEAGEMANAGER

3、(所属主管人ID)106A30104109B19104104C20111107D35109112E25120119F45NULL要求:列出所有年龄比所属主管年龄大的人的ID和名字?答:SQL语句如下:select employee.name from test employee where employee.age(select manager.age from test manager where manager.id=employee.manager);3.有3个表(15分钟):(SQL)Student 学生表 (学号,姓名,性别,年龄,组织部门)Course 课程表 (编号,课程名称)S

4、c 选课表 (学号,课程编号,成绩)表结构如下:1)写一个SQL语句,查询选修了计算机原理的学生学号和姓名(3分钟)答:SQL语句如下:select stu.sno, stu.sname from Student stuwhere (select count(*) from sc where sno=stu.sno and cno =(select cno from Course where cname=计算机原理) != 0;2)写一个SQL语句,查询周星驰同学选修了的课程名字(3分钟)答:SQL语句如下:select cname from Course where cno in (sele

5、ct cno from sc where sno=(select sno from Student where sname=周星驰);3)写一个SQL语句,查询选修了5门课程的学生学号和姓名(9分钟)答:SQL语句如下:select stu.sno, stu.sname from student stuwhere (select count(*) from sc where sno=stu.sno) = 5;小小+霸霸+王王=小霸王 小=?,霸=?,王=? 用sql求证参考答案:declare data int,i int,j int,l int set data=100 while (dat

6、a=999) begin set i=data/100 set j=data/10 % 10 set l=data % 10 if(i+j+l)*11=data) begin Select data data,i i,j j,l l break end set data=data+1 end; 分析: II+JJ+LL=IJL I*10+I +J*10+J+L*10+L = I*100+J*10+L (I+J+L)*111. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名name kecheng fenshu张三 语文 81张三 数学 75李四 语文 76李四 数学 90王五 语文

7、81王五 数学 100王五 英语 90A: select distinct name from table where name not in (select distinct name from table where fenshu80 2. 一个叫 depart 的表,里面只有一个字段team, 一共有4 条纪录,分别是a,b,c,d, 对应四个球对,现在四个球对进行比赛,用一条sql 语句显示所有可能的比赛组合.你先按你自己的想法做一下,看结果有我的这个简单吗?create table depart(team varchar(50) not null)答:select a.team, b

8、.team from depart a, depart b where a.team b.Debit101ccur4.说明:复制表( 只复制结构, 源表名:a 新表名:b)SQL: select * into b from a where 11 (where1=1,拷贝表结构和数据内容)ORACLE:create table bAsSelect * from a where 1=2 (不等于)(SQL Server Compact)比较两个表达式。 当使用此运算符比较非空表达式时,如果左操作数不等于右操作数,则结果为 TRUE。否则,结果为 FALSE。 5. 说明:拷贝表( 拷贝数据, 源表

9、名:a 目标表名:b)SQL: insert into b(a, b, c) select d,e,f from a; 6.说明:两张关联表,删除主表中已经在副表中没有的信息 SQL:Delete from info where not exists(select * from infobz where info.infid=infobz.infid ) 7.有两个表A 和B ,均有key 和value 两个字段,如果B 的key 在A 中也有,就把B 的value 换为A 中对应的value 这道题的SQL 语句怎么写?update b set b.value=(select a.value

10、 from a where a.key=b.key) where b.id in(select b.id from b,a where b.key=a.key); 8.为了便于阅读, 查询此表后的结果显式如下( 及格分数为60):courseid coursename score mark-1 java 70 pass2 oracle 90 pass3 xml 40 fail4 jsp 30 fail5 servlet 80 pass-写出此查询语句select courseid, coursename ,score ,decode (sign(score-60),-1,fail,pass)

11、as mark from coursedecode貌似在我的SQLSERVER2005里无法识别,可用以下方法替代select courseid,coursename,score,(case when (score-60)=0 then pass else fail end) as markfrom course* sql面试题(2)有表A,结构如下:A: p_ID p_Num s_id1 10 011 12 022 8 013 11 013 8 03其中:p_ID为产品ID,p_Num为产品库存量,s_id为仓库ID。请用SQL语句实现将上表中的数据合并,合并后的数据为:p_ID s1_id

12、 s2_id s3_id1 10 12 02 8 0 03 11 0 8其中:s1_id为仓库1的库存量,s2_id为仓库2的库存量,s3_id为仓库3的库存量。如果该产品在某仓库中无库存量,那么就是0代替。结果:select p_id ,sum(case when s_id=1 then p_num else 0 end) as s1_id,sum(case when s_id=2 then p_num else 0 end) as s2_id,sum(case when s_id=3 then p_num else 0 end) as s3_idfrom myPro group by p_id 7。为管理业务培训信息,建立3个表: S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄 C(C#,CN)C#,CN分别代表课程编号,课程名称

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号