面试会遇到的sql语句
1.test1——student
用一条SQL 语句 查询出每门课都大于80 分的学生姓名
(思路查找小于80的 排除掉 再来一个冗余就好了)
select distinct name from test1——student where name not in
(select name from test1——student where score < 80)
2. 计算每名学生的总成绩
(通过group by 进行分组 用聚合函数进行计算总数)
select name,sum(score) from test1——student group by name
3.每页2条记录,查询姓“王”的第二页记录
(考 分页 模糊)
select *from test1——student
where name like ‘王%’
limit 2,2
4.删除除了自动编号不同, 其他都相同的学生冗余信息
(思路先按照除了编号外其他字段进行分组 然后删除不是最大的那个 最后表里面就没有相同的了)
delete from test2——student
where id not in(select max(id) from test2——student
group by name,number,score);
(5)一个叫 team 的表,里面只有一个字段name, 一共有4 条纪录,分别是a,b,c,d, 对应四个球对,现在四个球对进行比赛,用一条sql 语句显示所有可能的比赛组合.
你先按你自己的想法做一下,看结果有我的这个简单吗?(10分)
(最后结果的规律就是第二个表的字母比第一个表的字母大 )
select t1.name,t2.name from test1——team t1 ,test2——team t2
where t2.name>t1.name ORDER BY t1.name