欢迎来到天天文库
浏览记录
ID:42117354
大小:53.50 KB
页数:15页
时间:2019-09-08
《Sql面试题大全》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Sql常见面试题受用了1.用一条SQL语句查询出每门课都大于80分的学生姓名name kecheng fenshu张三 语文 81张三 数学 75李四 语文 76李四 数学 90王五 语文 81王五 数学 100王五 英语 90A:selectdistinctnamefromtablewherenamenotin(selectdistinctnamefromtablewherefenshu<=80)selectnam
2、efromtablegroupbynamehavingmin(fenshu)>802.学生表如下:自动编号 学号 姓名课程编号课程名称分数1 2005001张三0001 数学 692 2005002李四0001 数学 893 2005001张三0001 数学 69删除除了自动编号不同,其他都相同的学生冗余信息A:deletetablenamewhere自动编号notin(selectmin(自动编号)fromtablenamegroupby学号,姓名,课程
3、编号,课程名称,分数)3.一个叫team的表,里面只有一个字段name,一共有4条纪录,分别是a,b,c,d,对应四个球对,现在四个球对进行比赛,用一条sql语句显示所有可能的比赛组合.你先按你自己的想法做一下,看结果有我的这个简单吗?答:selecta.name,b.namefromteama,teambwherea.name4、ccmonth:发生额月份,DebitOccur:发生额。数据库名:JcyAudit,数据集:Select*fromTestDB答:selecta.*fromTestDBa,(selectOccmonth,max(DebitOccur)Debit101ccurfromTestDBwhereAccID='101'groupbyOccmonth)bwherea.Occmonth=b.Occmonthanda.DebitOccur>b.Debit101ccur***************************************5、*********************************************5.面试题:怎么把这样一个表儿year monthamount1991 1 1.11991 2 1.21991 3 1.31991 4 1.41992 1 2.11992 2 2.21992 3 2.31992 4 2.4查成这样一个结果yearm1 m2 m3 m419911.11.21.31.419922.12.22.32.4答案一、selectyear,(selec6、tamountfrom aaamwheremonth=1 andm.year=aaa.year)asm1,(selectamountfrom aaamwheremonth=2 andm.year=aaa.year)asm2,(selectamountfrom aaamwheremonth=3 andm.year=aaa.year)asm3,(selectamountfrom aaamwheremonth=4 andm.year=aaa.year)asm4fromaaa groupbyyear***********7、********************************************************************6.说明:复制表(只复制结构,源表名:a新表名:b)SQL:select*intobfromawhere1<>1 (where1=1,拷贝表结构和数据内容)ORACLE:createtablebAsSelect*fromawhere1=2 [<>(不等于)(SQLServerCompact)比较两个表达式。当使用此运算符比较非空表达式时,如果左操作数不等于右操作数,则结果为TRUE。否则8、,结果为FALSE。] 7.说明:拷贝表(拷贝数据,源表名:a目标表名:b)SQL:insertintob(a,b,c)selectd,e,ffroma;8.说明:显示文章、提交人和最后回复时间SQL:selecta.title,a.usernam
4、ccmonth:发生额月份,DebitOccur:发生额。数据库名:JcyAudit,数据集:Select*fromTestDB答:selecta.*fromTestDBa,(selectOccmonth,max(DebitOccur)Debit101ccurfromTestDBwhereAccID='101'groupbyOccmonth)bwherea.Occmonth=b.Occmonthanda.DebitOccur>b.Debit101ccur***************************************
5、*********************************************5.面试题:怎么把这样一个表儿year monthamount1991 1 1.11991 2 1.21991 3 1.31991 4 1.41992 1 2.11992 2 2.21992 3 2.31992 4 2.4查成这样一个结果yearm1 m2 m3 m419911.11.21.31.419922.12.22.32.4答案一、selectyear,(selec
6、tamountfrom aaamwheremonth=1 andm.year=aaa.year)asm1,(selectamountfrom aaamwheremonth=2 andm.year=aaa.year)asm2,(selectamountfrom aaamwheremonth=3 andm.year=aaa.year)asm3,(selectamountfrom aaamwheremonth=4 andm.year=aaa.year)asm4fromaaa groupbyyear***********
7、********************************************************************6.说明:复制表(只复制结构,源表名:a新表名:b)SQL:select*intobfromawhere1<>1 (where1=1,拷贝表结构和数据内容)ORACLE:createtablebAsSelect*fromawhere1=2 [<>(不等于)(SQLServerCompact)比较两个表达式。当使用此运算符比较非空表达式时,如果左操作数不等于右操作数,则结果为TRUE。否则
8、,结果为FALSE。] 7.说明:拷贝表(拷贝数据,源表名:a目标表名:b)SQL:insertintob(a,b,c)selectd,e,ffroma;8.说明:显示文章、提交人和最后回复时间SQL:selecta.title,a.usernam
此文档下载收益归作者所有