gpt4 book ai didi

mysql - SQL "chained"查询?

转载 作者:行者123 更新时间:2023-11-29 03:33:37 24 4
gpt4 key购买 nike

我有两张 table 。

我是 SQL 的新手。目前使用mysql。我对学校相关的数据库进行了以下设置:

表 A 包含学生记录。学号、密码、姓名、姓氏等。

表 B 包含类出勤记录。每条记录都是这样的:日期、学号、年级

我需要收集在特定日期范围内类的所有学生的学生信息。

现在,愚蠢的方法是

  1. 首先我从表 B 中选择日期在范围内的所有类

  2. 然后对于每个类(class),我获取学生 ID 和 SELECT * FROM students WHERE id = student id

我想不通的是聪明的方法。如何仅在一个查询中执行此操作。我无法理解 JOIN、UNION 等概念...

到目前为止我最好的猜测是

SELECT students.id, students.name, students.lastname 
FROM students, classes
WHERE classes.date BETWEEN 20140101 AND 20150101
AND
classes.studentid = students.id

但是对于这种情况,这是合适的方法吗?

最佳答案

不要在 where 子句中加入 join 语句。这样做:

SELECT s.id, s.name, s.lastname,c.date,c.grade 
FROM classes c
inner join students s
on c.studentid=s.id
WHERE c.date BETWEEN '01/01/2014' AND '01/01/2015'

关于mysql - SQL "chained"查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26856616/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com