SQLのEXISTS
WHERE句にEXISTSと書いてそれにつづけてサブクエリをかく。 各行について条件に一致するものがあるとEXISTSが真になるからその行が抽出される、みたいな感じ。
drop table if exists A; drop table if exists B; create table A (id integer, name text); create table B (id integer, title text); insert into A values(1, '佐藤'); insert into A values(2, '鈴木'); insert into A values(3, '菊池'); insert into B values(1, '会社員'); insert into B values(1, '投資家'); insert into B values(2, '会社員'); insert into B values(2, '主夫'); insert into B values(3, '投資家'); insert into B values(3, '主夫'); select id, name from A where exists ( select 1 from B where A.id = B.id and B.title = '会社員');