数据库多表查询sql语句面试题,1一道SQL语句面试题
来源:整理 编辑:黑码技术 2024-06-20 12:58:46
本文目录一览
1,1一道SQL语句面试题
create table 比赛(主键自己添加吧,日期,胜利次数,失败次数);数据自己添加 select 日期,胜 胜利次数,负 失败次数 from 比赛 group by 日期select [date],[胜负],count(*) from TB group by [date],[胜负] order by [date],[胜负]
2,sql语句的面试题求解答啊一共三个表悬赏100啊
这个简单,看答案,采纳吧~第一题是,用双top结构就可以查出来1,select * from 学生表 where 学号 in(select top 5 学号 from 成绩表 where 学号 not in(select top 10 学号 from 成绩表 order by 分数) order by 分数)第二题是比较简单,用复合函数就行了,havingselect 姓名 from 成绩表 group by 姓名 having avg(分数)>80采纳吧~
3,sql面试题
1、首先,将三个表建立一个视图,可以直接在企业管理器里面建,也可以将下面的代码直接复制到查询分析器里面执行: SELECT dbo.students.studentname, dbo.class.classname, dbo.score.course, dbo.score.score FROM dbo.class INNER JOIN dbo.students ON dbo.class.classid = dbo.students.classid INNER JOIN dbo.score ON dbo.students.studentid = dbo.score.studentid 2、然后,求 各科 班分数 最高的同学的名字,班级名称,课程名称,分数 ,代码如下: select classname as 班级,course as 学科,max(score) as 最高分,(select top 1 studentname from scoreview where classname=x.classname and course=x.course order by score desc) as 最好成绩的学生 from scoreview x group by classname,course ------------ 已经经过测试,你自己可以试试
4,哪位大虾有经典的sql三表联查的习题呢我面试需要急需冲冲电啊
为管理岗位业务培训信息,建立3个表: S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄 C (C#,CN ) C#,CN 分别代表课程编号、课程名称 SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩 要求实现如下5个处理: 1. 使用标准SQL嵌套语句查询选修课程名称为税收基础的学员学号和姓名 2. 使用标准SQL嵌套语句查询选修课程编号为C2的学员姓名和所属单位 3. 使用标准SQL嵌套语句查询不选修课程编号为C5的学员姓名和所属单位 4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位 5. 查询选修了课程的学员人数 6. 查询选修课程超过5门的学员学号和所属单位 **************问题描述************: 已知关系模式: S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名 C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师 SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩 要求实现如下5个处理: 1. 找出没有选修过“李明”老师讲授课程的所有学生姓名 2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩 3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名 4. 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号 5.列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩
5,出个Sql面试题
表一: 表2:num name num value1 sss 1 234 2 rfd 2 654 3 dde 3 876 4 ssd 4 5565 5 sddf 6 342 查询出下面的结果:num name value1 sss 234 2 rfd 654 3 dde 876 4 ssd56 342 --总体情况 SELECT a.ID, COUNT(*) AS 总数,SUM(CASE b.STYLE WHEN 0 THEN 1 ELSE 0 END ) AS 过关数,SUM(CASE b.STYLE WHEN 1 THEN 1 ELSE 0 END ) AS 未过关数 from a, b where a.id = b.idgroup by a.id --筛选select *,a.过关数/a.总数 as 过关率 from( SELECT a.ID, COUNT(*) AS 总数,SUM(CASE b.STYLE WHEN 0 THEN 1 ELSE 0 END ) AS 过关数,SUM(CASE b.STYLE WHEN 1 THEN 1 ELSE 0 END ) AS 未过关数 from a, b where a.id = b.id group by a.id ) awhere a.过关数/a.总数 > 0.6
a (id,text)
b(id,style)
对吗?
select a.id,a.text from a inner jion b on a.id = b.id
where count(b.id)*.6 > sum(b.style)
group by a.id,a.text你给的题目不是很明确啊 ,能不能在说的具体点,很模糊提问人真是逻辑不清,b表明明有三个字段,结果描述成二个,害得大家都不明白。
select * from a where (select count(*) from b where aid=a.id and style=0)/(select count(*) from b where aid=a.id)>=0.6能把你这两种表的内容再说详细些吗
a表是问题表,,这个问题是客户所投诉上来的?
也就是说 ID 为自动增长列 text为问题内容?
然后B表为问题投诉表 有id 跟style(0为通过)那这个style就是问题状态?
文章TAG:
数据 数据库 多表 查询 数据库多表查询sql语句面试题