没有来自第二个表

时间:2015-12-15 16:20:57

标签: mysql join

我正在尝试创建两个表的内连接MySQL查询:

'swatchset' 
->swatchset_id
->swatchset_name

'swatches'
->swatch_id
->swatch_name
->swatch_hex
->etc...

我目前在' swatchset'表:

  

swatchset_id | swatchset_name

     8           default   

'''''桌子是空的。

我希望得到' swatchset'。' swatchset_name' 我想我不太了解INNER JOIN因为这个查询没有结果:

    SELECT `swatchset`.`swatchset_name`, `swatches`.`swatch_id`, `swatches`.`swatch_name`, `swatches`.`swatch_hex`, `swatches`.`swatch_type` FROM `swatchset`
    INNER JOIN `swatches`
    ON `swatches`.`f_swatchset_id` = `swatchset`.`swatchset_id`
    WHERE `swatchset`.`swatchset_id` = '8';

我怎样才能获得至少找到的' swatchset'行结果?

1 个答案:

答案 0 :(得分:1)

左外连接将在未找到时填充第二个表的空列:

SELECT `swatchset`.`swatchset_name`, `swatches`.`swatch_id`, `swatches`.`swatch_name`, `swatches`.`swatch_hex`, `swatches`.`swatch_type` FROM `swatchset`
    LEFT OUTER JOIN `swatches`
    ON `swatches`.`f_swatchset_id` = `swatchset`.`swatchset_id`
    WHERE `swatchset`.`swatchset_id` = '8';

内部联接不会从第一个表返回条目,而不会在第二个表中匹配