从两个表中获取数据是否匹配。

时间:2013-12-03 10:27:19

标签: mysql join

我试图从数据库中的两个表中获取信息: misc.users misc.course

misc.users表包含曾经去过该研究所的每个人,而misc.course表只包含有关当前参加课程的人的信息。

如果misc.users表中只有用户,如果在misc.course表中有一个条目,我怎样才能显示它们。

misc.users表架构是:

userId
userFName
userLName
userAge
userDateOfBirth
userAllergies
userNotes

和misc.course架构是

userId
courseId
courseName
courseStart
courseEnd
courseSemGrade
courseEndGrade

userId 在两个表中都相同。

提前致谢:)

3 个答案:

答案 0 :(得分:3)

SELECT u.* FROM course c JOIN users u ON c.userId = u.userId

请在此处查看工作示例:http://sqlfiddle.com/#!2/f98e5/1

答案 1 :(得分:0)

尝试做:

SELECT * 
FROM users u
WHERE EXISTS (SELECT 1 
              FROM course c
              WHERE c.userId = u.userId)

仅返回课程表中至少有一条记录的用户

答案 2 :(得分:0)

试试这个:

SELECT DISTINCT(mu.*) FROM misc.users mu 
INNER JOIN misc.course mc ON mu.userId = mc.userId
相关问题