2024-11 小猿搜题 入门

我发誓:每一道题目都不超过如下知识点,你不需要去其他地方搜索零散的知识点。

如果超过了,就让凤姐和乔碧萝殿下蹂躏我一百次直至摇摇欲坠。

SQL跟初中数学一样,记忆概念、用法是没卵用的。

能灵活应用才是王道。

====================================================================================================

任务:找出所有教授数学且具有高级职称(senior)的教师的信息,包括教师的姓名、科目、班级代码和职称,并按教师姓名升序排列。

====================================================================================================

单张表条件过滤知识点

1. 多条件筛选

  • 使用 AND 逻辑运算符
    • 示例:SELECT * FROM students WHERE gender = 'm' AND birth_date BETWEEN '2000-01-01' AND '2000-12-31'; 查找2000年出生的男生。
  • 使用 OR 逻辑运算符
    • 示例:SELECT * FROM students WHERE gender = 'm' OR gender = 'f'; 查找所有男生和女生。
  • 使用 IN 子句
    • 示例:SELECT * FROM students WHERE class_code IN ('C101', 'C102', 'C103'); 查找在 C101, C102, C103 班级的学生。

2. 范围筛选

  • 使用 BETWEEN 关键字
    • 示例:SELECT * FROM students WHERE birth_date BETWEEN '2000-01-01' AND '2000-12-31'; 查找2000年出生的学生。
  • 使用 >= 和 <= 进行范围筛选
    • 示例:SELECT * FROM students WHERE score >= 80 AND score <= 90; 查找成绩在80到90之间的学生。

3. 模式匹配

  • 使用 LIKE 和通配符(% 和 _
    • 示例:SELECT * FROM students WHERE name LIKE 'A%'; 查找名字以 'A' 开头的学生。
    • 示例:SELECT * FROM students WHERE name LIKE '_e%'; 查找名字第二个字符为 'e' 的学生。
  • 使用 REGEXP 或 RLIKE 进行正则表达式匹配
    • 示例:SELECT * FROM students WHERE name REGEXP '^A'; 查找名字以 'A' 开头的学生。

4. 空值处理

  • 使用 IS NULL
    • 示例:SELECT * FROM teachers WHERE qualification IS NULL; 查找没有职称的教师。
  • 使用 IS NOT NULL
    • 示例:SELECT * FROM teachers WHERE qualification IS NOT NULL; 查找有职称的教师。

5. 字符串处理

  • 使用 UPPER
    • 示例:SELECT UPPER(name) FROM students; 查找所有学生的姓名并转换为大写。
  • 使用 LOWER
    • 示例:SELECT LOWER(name) FROM students; 查找所有学生的姓名并转换为小写。
  • 使用 LENGTH
    • 示例:SELECT LENGTH(name) FROM students; 查找所有学生的姓名长度。
  • 使用 SUBSTRING
    • 示例:SELECT SUBSTRING(name, 1, 3) FROM students; 查找所有学生的姓名前三个字符。
  • 使用 REPLACE
    • 示例:SELECT REPLACE(name, 'A', 'B') FROM students; 查找所有学生的姓名并将 'A' 替换为 'B'。

6. 日期处理

  • 使用 YEAR
    • 示例:SELECT YEAR(birth_date) FROM students; 查找所有学生的出生年份。
  • 使用 MONTH
    • 示例:SELECT MONTH(birth_date) FROM students; 查找所有学生的出生月份。
  • 使用 DAY
    • 示例:SELECT DAY(birth_date) FROM students; 查找所有学生的出生日。
  • 使用 DATE_FORMAT
    • 示例:SELECT DATE_FORMAT(birth_date, '%Y-%m-%d') FROM students; 查找所有学生的出生日期并格式化为 'YYYY-MM-DD'。

7. 数值比较

  • 使用 >
    • 示例:SELECT * FROM students WHERE score > 80; 查找成绩大于80的学生。
  • 使用 <
    • 示例:SELECT * FROM students WHERE score < 80; 查找成绩小于80的学生。
  • 使用 >=
    • 示例:SELECT * FROM students WHERE score >= 80; 查找成绩大于等于80的学生。
  • 使用 <=
    • 示例:SELECT * FROM students WHERE score <= 80; 查找成绩小于等于80的学生。

经典-学生表课程表 and in

students,学生表

student_id name class_code grade_code birth_date residence gender
100611 姜建华 C219 S3 2009-01-15 城镇 m
102890 韩辉 C223 S3 2009-10-26 农村 m
105684 李丽丽 C219 S3 2009-03-28 城镇 m
110591 李华 C223 S1 2008-05-31 农村 m
110611 王桂珍 C218 S3 2008-06-04 城镇 m

scores,成绩表

分数可能为Null

student_id subject score exam_date
358575 生物 29 2024-06-30
735011 语文 37 2024-03-30
597305 历史 67 2024-03-30
921856 数学 76 2024-04-27
455713 化学 77 2024-06-30

teachers,教师表

如第一行,赵娇娇教学C218、C219、C217三个班级的语文,是C217班的班主任

teacher_id name subject class_code head_teacher degree graduate_date(毕业日期) enter_date(入校日期) gender qualification(职称) fir_degr(第一学历) mst_degr(研究生学历)
t001 赵娇娇 语文 C218C219C217 C217 master 2010-06-30 2010-07-30 f Senior 北京大学 北京大学
t002 任伊乐 语文 C220C221C222C223C224 C220 master 2010-06-30 2010-07-30 f Senior 北京大学 清华大学
t003 李敏 数学 C218C219C217 C218 master 1994-06-30 1994-07-30 f Senior 北京大学 复旦大学
t004 吕敏 数学 C220C221C222 C221 phd 1995-06-30 1995-07-30 f Senior 北京大学 清华大学
t005 陈佳蔬 数学 C223C224 C223 master 2010-06-30 2010-07-30 f null 北京大学 北京大学

university,大学信息表 

name is_985 times_rnk(泰晤士2024全球排名)
King's College London 0 34
National University of Singapore,NUS 0 24
Singapore Polytechnic 0 null
上海交通大学 1 113
北京大学 1 16

name subject class_code qualification
吕敏 数学 C220C221C222 Senior
李敏 数学 C218C219C217 Senior

ID119 统计每个城市各状态的单量  
简单 inner join and count in 多表连接 2025春招面试真题 货拉拉
ID201 HAVING-语数英优异的学生
入门 group by and sum in having 经典-学生表课程表 小猿搜题
ID266 特定歌手信息  
简单 between and and in not 聚合函数 音乐偏好分析 QQ音乐
ID287 找出三个班级的女生
入门 or in = 经典-学生表课程表 小猿搜题
ID337 一元一次函数形成的等腰三角形
草履虫 and in = Week7打卡 初中数学常识 作业帮

 点击下方空白区域即可查看参考答案

MySQL 8.0

00:00