我是一个完整的SQL noob,不知道如何利用连接。如果有人能帮上忙,那就太好了。
我有一个表questions包含两列:queidque
另一个表options,包含问题的相应选项,并且有optionidqueidoption列。
如何执行SELECT语句,以便根据queid将两个表连接在一起?
类似于:

SELECT * from questions,options where queid=1

最佳答案

你应该试试这个:

SELECT que.*, opt.* FROM questions que
INNER JOIN options opt ON que.queid = opt.queid
WHERE que.queid = 1

INNER JOIN加载每个表中至少有一个对应记录的问题和选项。
如果你需要得到所有的问题(甚至那些没有选择的问题),你可以使用
SELECT que.*, opt.* FROM questions que
LEFT JOIN options opt ON que.queid = opt.queid
WHERE que.queid = 1

LEFT JOIN总是加载问题,如果它们有选项,也会加载它们的选项;如果没有,则为选项列获取空值。

关于mysql - SQL查询连接结果列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8293350/

10-11 02:54