显示所有表数据mysql

时间:2013-04-01 18:35:18

标签: mysql relationships

我有6张表,其中都包含学生信息。 表格名称:学生详细信息,医生详细信息,入学详细信息,previous_school,父亲详细信息,母亲详细信息。 每个表都包含一个唯一的ID。

要将所有这些表合并为一个,我有一个student_info表,其中包含上述6个表中的所有id。这些链接到相应表中的唯一ID。

我需要显示所有学生信息,我知道我会使用左连接和右连接,我只是不确定mysql如何读取student_info表中的id并从相应的表中获取所有信息,允许用户查看所有一种形式的学生信息。

提前谢谢你。

2 个答案:

答案 0 :(得分:0)

编辑: http://sqlfiddle.com/#!2/c5489/2(工作示例)

您不需要在每个表中放置所有id,而是每个表都有自己的主键ID - 保证是唯一的,并且您很可能使用{加入每个表{1}}

inner join

然后使用要加入的相关ID选择所需的数据:

Table A(user_id int, user_name varchar(255))
Table B(student_id int, student_email varchar(255))

答案 1 :(得分:0)

您必须指定连接才能使其工作:

select * from student, student_info where student_info.student_id = student.id

这告诉服务器返回两个表中的所有信息,其中学生ID与学生信息存储的学生ID相匹配。

在这里,我假设学生是1:很多,有student_info(其中至少有一个,但每个学生信息可以有多个学生信息行)。