In MySQL:
If we have two tables:
comments
key | value
=================
1 | foo
2 | bar
3 | foobar
4 | barfoo
You're looking for a plain, vanilla equi-join here.
SELECT `comment`.`key` AS `key`,
`comment`.`value` AS `value`
FROM `comments`
JOIN `meta`
ON `comments`.`key` = `meta`.`comment_key`
WHERE `meta`.`value` = 1;
I'm not really sure what sort of advice you're looking for here but you can read more about the topic (not MySQL specific) at Wikipedia's SQL JOIN page.
I'd recommend indexing on comment.key and meta.comment_key with both being PRIMARY KEY indexes assuming that you want there to only be 1 meta row per comment row (PRIMARY KEYs are UNIQUE by definition). If you want to allow more than 1 meta per comment then add a separate index id column to meta and make that the PRIMARY KEY with comment_key just a b-tree index.
I'm also not sure how the performance of this will compare to the "semi-join" answer also listed but, to me, this is the simpler and more natural way to express the query; with only two tables, though, it shouldn't be too challenging for MySQL to optimize.