用SQL语言描述一个找出所有只参加2017年后的课程的学生名字的查询
时间: 2023-05-30 07:03:15 浏览: 53
SELECT DISTINCT s.name
FROM student s
JOIN score sc ON s.id = sc.student_id
JOIN course c ON sc.course_id = c.id
WHERE c.year >= 2017;
相关问题
用SQL语言描述一个找出所有未参加2017年前的课程的学生名字的查询
SELECT DISTINCT student.name
FROM student
LEFT JOIN takes ON student.ID = takes.ID
LEFT JOIN course ON takes.course_id = course.course_id
WHERE takes.grade IS NULL OR course.year < 2017
SQL语言创建一个函数,根据学生姓名和课程名查询
好的,以下是基于 MySQL 语言创建一个函数,根据学生姓名和课程名查询的示例:
```sql
-- 创建函数
CREATE FUNCTION get_grade_by_name_and_course(student_name VARCHAR(50), course_name VARCHAR(50))
RETURNS VARCHAR(10)
BEGIN
DECLARE grade VARCHAR(10);
SELECT grade INTO grade
FROM grades
WHERE name = student_name AND course = course_name;
RETURN grade;
END;
```
这个函数接受学生姓名和课程名两个参数,并返回对应的成绩。在函数内部,我们首先声明一个变量 grade 来存储查询结果,然后通过 SELECT 语句查询对应的成绩,并将结果存储到 grade 变量中。最后使用 RETURN 语句返回查询结果。在这个例子中,我们假设成绩表名为 grades,包含 name、course 和 grade 三个字段。