SQL查询 - 左连接还是联盟?

时间:2011-10-02 10:04:18

标签: mysql sql database

如何编写SQL查询以查明组ID是什么,然后显示该组ID中的选项列表。

我可以通过两个查询来完成,例如:

//Get the group ID 
SELECT option_group_id FROM options WHERE id =14122

//Now get a list of OptionID from that group ID
SELECT id, name FROM options WHERE option_group_id = 999

如何将其置于1个查询中?

3 个答案:

答案 0 :(得分:4)

您可以使用子查询来检索组的ID:

select  id
,       name
from    options
where   option_group_id = 
        (
        select  option_group_id
        from    options
        where   id = 14122
        )

答案 1 :(得分:3)

基本上:

  • 如果您想要更多列=>加入
  • 如果您想要更多行=>联合

在这种情况下:

SELECT toGetData.id
     , toGetData.name
  FROM options toGetId
  join options toGetData on toGetData.option_group_id = toGetId.option_group_id
 wHERE toGetId.id = 14122

答案 2 :(得分:2)

都不是。您对同一个表使用内部联接:

select o2.id, o2.name
from options o1
inner join options o2 on o2.option_group_id = o1.option_group_id
where o1.id = 14122