SQLite | JOIN | INNER JOIN
内部結合は、両方のテーブルで結合列の値が一致する行だけを返す。

SELECT table1.column, table2.column FROM table1
INNER JOIN table2 ON table1.column1 = table2.column2;
create table employee (id integer, name text, dept_id integer);
insert into employee values (1, 'dekuma', 1);
insert into employee values (2, 'kimkc', 3);
insert into employee values (3, 'araikuma', 1);
insert into employee values (4, 'happykuma', 2);
insert into employee values (5, 'mykuma', 4);
insert into employee values (6, 'raccoon', 3);
create table dept (id integer, name text);
insert into dept values (1, 'Sales');
insert into dept values (2, 'Manage');
insert into dept values (3, 'Dev');
select * from employee inner join dept on employee.dept_id = dept.id;
部門1~3の社員だけが返され、対応する部門4がないmykumaは除外される。テーブルの順序を逆にしても一致するデータは同じである。
列の指定
同名列はテーブル名で修飾する。
select employee.id, employee.name, dept.name from employee
inner join dept on employee.dept_id = dept.id;
修飾せずに曖昧なnameを選択するとError: ambiguous column name: nameになる。