mysql sql语句面试经典50题
创始人
2025-01-09 07:06:23

MySQL SQL语句面试经典50题详解,助你轻松应对面试挑战

本文针对MySQL SQL语句面试中的经典50题进行详细解析,旨在帮助求职者更好地掌握MySQL数据库操作技能,提升面试竞争力。通过学习这些问题及其解答,您可以深入了解MySQL的SQL语句应用,为面试做好充分准备。

mysql sql语句面试经典50题

一、基础查询

  1. 查询姓“王”的学名单

    SELECT sname FROM Student WHERE sname LIKE '王%';
  2. 查询姓“张”的教师的个数

    SELECT COUNT(*) FROM Teacher WHERE tname LIKE '张%';

二、汇总分析

  1. 查询课程编号为“0001”的选修人数

    SELECT COUNT(DISTINCT sid) FROM Score WHERE cid = '0001';
  2. 查询各科成绩的平均分

    SELECT cid, AVG(sscore) AS avg_score FROM Score GROUP BY cid;

三、多表查询

  1. 查询学生姓名、课程名称和教师姓名

    SELECT Student.sname, Course.cname, Teacher.tname
    FROM Student
    JOIN Score ON Student.sid = Score.sid
    JOIN Course ON Score.cid = Course.cid
    JOIN Teacher ON Course.tid = Teacher.tid;
  2. 查询选修了“张三”教授的所有学生姓名

    SELECT Student.sname
    FROM Student
    JOIN Score ON Student.sid = Score.sid
    JOIN Course ON Score.cid = Course.cid
    JOIN Teacher ON Course.tid = Teacher.tid
    WHERE Teacher.tname = '张三';

四、条件查询

  1. 查询年龄大于20岁的学生姓名和性别

    SELECT sname, ssex FROM Student WHERE TIMESTAMPDIFF(YEAR, sbirth, CURDATE()) > 20;
  2. 查询成绩大于90分的所有学生姓名和课程名称

    SELECT Student.sname, Course.cname
    FROM Student
    JOIN Score ON Student.sid = Score.sid
    JOIN Course ON Score.cid = Course.cid
    WHERE Score.sscore > 90;

五、排序与分页

  1. 查询学生姓名按年龄升序排序

    SELECT sname, sbirth FROM Student ORDER BY TIMESTAMPDIFF(YEAR, sbirth, CURDATE());
  2. 查询学生姓名按成绩降序排序,每页显示5条记录

    SELECT sname, sscore FROM Student ORDER BY sscore DESC LIMIT 5, 5;

六、子查询

  1. 查询所有选修了“张三”教授课程的学生姓名

    SELECT Student.sname
    FROM Student
    WHERE Student.sid IN (SELECT Score.sid FROM Score JOIN Course ON Score.cid = Course.cid JOIN Teacher ON Course.tid = Teacher.tid WHERE Teacher.tname = '张三');
  2. 查询成绩排名前三的学生姓名

    SELECT sname FROM Student ORDER BY sscore DESC LIMIT 0, 3;

七、事务与锁

  1. 查询学生编号为“1001”的课程编号

    SELECT cid FROM Score WHERE sid = '1001' FOR UPDATE;
  2. 查询学生编号为“1001”的课程编号,并更新成绩为95分

    START TRANSACTION;
    SELECT cid FROM Score WHERE sid = '1001' FOR UPDATE;
    UPDATE Score SET sscore = 95 WHERE sid = '1001';
    COMMIT;

八、备份与恢复

  1. 创建数据库备份

    mysqldump -u root -p database_name > backup_file.sql
  2. 恢复数据库备份

    mysql -u root -p database_name < backup_file.sql

通过以上经典50题的解析,相信您已经对MySQL SQL语句面试有了更深入的了解。在实际面试过程中,灵活运用这些知识点,相信您能够轻松应对挑战。祝您面试顺利!

当前文章不喜欢?试试AI生成哦!
SQL语句生成器
示例
AI生成仅供参考!

相关内容

热门资讯

深圳平面设计就业前景 深圳平面... 平面设计与商业活动紧密结合,在国内的就业范围非常广泛,与各行业密切相关,同时也是其他各设计门类(诸如...
中国戏曲学院戏剧影视文学专业一... 考试时间:2月10日上午9:00-11:00——英语笔试  2月10日下午13:30-15:30——...
关于最新或2023(历届)12... 各位考生: 最新或2023(历届)12月份(含)之前全国专业技术人员计算机应用能力考试...
宁夏大学最新或2023(历届)... 记者从宁夏大学招生办获悉,最新或2023(历届),宁夏大学将面向全国招收运动训练、武术与民族传统体育...
宁夏大学高水平运动员招生项目时...  2月20日报名结束3月4、5日在宁夏大学进行专项测试  日前,记者从宁夏大学获悉,为提高宁夏大学体...