我是一个完整的SQL noob,不知道如何利用连接。如果有人能帮上忙,那就太好了。
我有一个表questions
包含两列:queid
和que
。
另一个表options
,包含问题的相应选项,并且有optionid
,queid
,option
列。
如何执行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/