- 小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
描述
题目要求查询课程表 courses 中,教师 id teacher_id 不为 3,且学生人数 student_count 超过 800 的所有课程,最后返回满足条件的课程的所有信息。
表定义: courses(课程表)
| 列名 | 类型 | 注释 |
|---|---|---|
| id | int unsigned | 主键 |
| name | varchar | 课程名称 |
| student_count | int | 学生总数 |
| created_at | date | 课程创建时间 |
| teacher_id | int | 讲师 id |
**
- 本题请使用逻辑运算符
NOT - 学生人数超过 800 但是不包括 800
- 如果查询不到满足条件的值,则返回结果为空
样例
样例一:
表内容 : courses
| id | name | student_count | created_at | teacher_id |
|---|---|---|---|---|
| 1 | Advanced Algorithms | 880 | 2020/6/1 | 4 |
| 2 | System Design | 1350 | 2020/7/18 | 3 |
| 3 | Django | 780 | 2020/2/29 | 3 |
| 4 | Web | 340 | 2020/4/22 | 4 |
| 5 | Big Data | 700 | 2020/9/11 | 1 |
| 6 | Artificial Intelligence | 1660 | 2018/5/13 | 3 |
| 7 | Java P6+ | 780 | 2019/1/19 | 3 |
| 8 | Data Analysis | 500 | 2019/7/12 | 1 |
| 10 | Object Oriented Design | 300 | 2020/8/8 | 4 |
| 12 | Dynamic Programming | 2000 | 2018/8/18 | 1 |
在运行你的 SQL 语句之后,表应返回:
| id | name | student_count | created_at | teacher_id |
|---|---|---|---|---|
| 1 | Advanced Algorithms | 880 | 2020/6/1 | 4 |
| 12 | Dynamic Programming | 2000 | 2018/8/18 | 1 |
样例二:
表内容 : courses(课程表)
| id | name | student_count | created_at | teacher_id |
|---|---|---|---|---|
| 1 | Advanced Algorithms | 300 | 2020/6/1 | 4 |
| 2 | System Design | 1350 | 2020/7/18 | 3 |
| 3 | Django | 780 | 2020/2/29 | 3 |
| 4 | Web | 340 | 2020/4/22 | 4 |
在运行你的 SQL 语句之后,表应返回:
| id | name | student_count | created_at | teacher_id |
|---|
因为数据中没有待查询数据,所以这里只展示了标题,没有数据。
题解
这道题主要考察and 、!= 、>三个运算符。 一道简单的入门题,罢了!
解法1
select *
from courses
where teacher_id !=3 and student_count >800
解法2
SELECT * FROM courses WHERE (NOT teacher_id = 3) And (student_count > 800);