面试会遇到的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

猜你喜欢

转载自blog.csdn.net/fenghuanxia66/article/details/87971691