gpt4 book ai didi

mysql - 如何使用单个 mysql 查询获取两个表数据?

转载 作者:太空宇宙 更新时间:2023-11-03 10:52:53 26 4
gpt4 key购买 nike

以下是我的表,学生 ID 是两个表中的公共(public)字段。我想在单个查询中获取两个表的数据。还要获取学生的最新数据。

 table A:

student_id name surname email
------------------------------------------------
1 ABC LLL abc@gmail.com
2 PQR SSS pqr@gmail.com


Table B:

student_id Assignment_Id Assignment_Name last_submited
---------------------------------------------------------------------
2 1 asign_1 sub_0001
1 2 asign_2 sub_0002
2 3 asign_2 sub_0003

我想要像这样的精确输出:-

student_id   Assignment_Id         email      last_submited
--------------------------------------------------------------
2 3 pqr@gmail.com sub_0003

我使用以下查询来获取最近的记录,但对如何获取电子邮件 ID 感到困惑。

SELECT assignment_id,
student_id,
last_submited
FROM tableB
WHERE student_id= '2'
ORDER BY assignment_id DESC LIMIT 1

最佳答案

您可以使用JOIN

select  tableB.assignment_id, 
tableB.student_id,
tableB.last_submited,
tableA.email
from tableB INNER JOIN
tableA ON tableB.student_id = tableA.student_id
where tableB.student_id= '2'
order by tableB.assignment_id desc
limit 1

INNER JOINs 用于返回数据在两个表中的数据(因此 entry 将存在于 tableA 和 tableB 中)。

LEFT JOINs 当您希望从 tableA 中检索所有数据以及 tableB 中可用的那些值时使用。

所以,假设你有

TABLEA
-------
1
2

TABLEB
-------
1

SELECT *
FROM TABLEA INNER JOIN
TABLEB ON TABLEA.ID = TABLEB.ID

会回来

1,1

鉴于

SELECT *
FROM TABLEA LEFT JOIN
TABLEB ON TABLEA.ID = TABLEB.ID

会回来

1,1
2,NULL

关于mysql - 如何使用单个 mysql 查询获取两个表数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23103494/

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