我想使用单个查询从2个表中获取前10条记录,这些记录的id
作为引用ID。
例如,我有student
和Student_details
个表格。
现在我想获取student
表的前5条记录和Student_details
表的前5条记录。
答案 0 :(得分:2)
您是否希望将两个表的结果合并为1个结果集?
如果是,请使用
SELECT student.*, student_details.*
FROM student, student_details
WHERE student.id = student_details.student_id
ORDER BY id ASC LIMIT 5;
答案 1 :(得分:1)
SELECT * FROM student ORDER BY id ASC LIMIT 5;
SELECT * FROM student_details ORDER BY id ASC LIMIT 5;
答案 2 :(得分:0)
SELECT * FROM STUDENTS ORDER BY ID LIMIT 5
答案 3 :(得分:0)
SELECT * FROM table WHERE ... ORDER BY ... DESC/ASC LIMIT 5;
做两次。
答案 4 :(得分:0)
这是不可能的!您可以创建一个临时表,并以某种方式尝试匹配一个表的字段以匹配另一个表的字段,如果它们具有几乎相同数量的字段 - 只有这样您才能使用单个查询来获取两个表的前5个结果使用一个查询的表。但即便如此,这也会导致多个查询(因为您必须先创建临时表)。
您可以做的最好的事情是使用两个查询:
SELECT * FROM student ORDER BY student.id LIMIT 5;
SELECT * FROM student_details ORDER BY student_details.id LIMIT 5;