企业面试题

1.至少两门成绩大于或等于90的姓名和课程数量

SELECT a.name,COUNT(a.name)
FROM stu a,sourse b
WHERE a.no=b.stuid AND b.s>=90
GROUP BY a.no
HAVING COUNT(a.name)>1;

2.每门成绩都大于80的姓名

SELECT a.name
FROM stu a,sourse b
WHERE a.no=b.stuid
GROUP BY a.no
HAVING MIN(s)>80

3.找出总分最高的学生的no,name,总分数

SELECT a.no,a.name,SUM(b.grade)
FROM tab1 a,tab2 b
WHERE a.no=b.no
GROUP BY a.no
ORDER BY SUM(b.geade) DESC LIMIT 1;

4.查询年龄最大的学生编号姓名生日

SELECT id,NAME,DATE 
FROM emp
WHERE YEAR(CURDATE())-YEAR(DATE)=
(SELECT MAX(YEAR(CURDATE())-YEAR(DATE)) FROM emp);

5.计算出每个人生日和入学日期分别是星期几,以及在当年中是第几天

SELECT NAME,DAYNAME(birthday),
1+DATEDIFF(birthday,CONCAT(YEAR(birthday),"-01-01")),
DAYNAME(sday),
1+DATEDIFF(sday,CONCAT(YEAR(sday),"-01-01")) 
FROM stu;

猜你喜欢

转载自www.cnblogs.com/lt1845265171/p/10431043.html