Две связанные таблицы в C++
Связанные таблицы читают одним SQL с
JOIN, а строки результата берут
из sqlite3_column_* после
sqlite3_step.
В staff.db создайте таблицы по
фрагменту:
CREATE TABLE dept (
id INTEGER PRIMARY KEY,
title TEXT NOT NULL
);
CREATE TABLE employee (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
dept_id INTEGER,
FOREIGN KEY (dept_id) REFERENCES dept(id)
);
INSERT INTO dept (title) VALUES
('Sales'), ('Support');
INSERT INTO employee (name, dept_id) VALUES
('Anna', 1),
('Ben', 1),
('Cara', 2);
Выведите для каждого сотрудника строку вида
"Anna - Sales": имя, дефис, название
отдела.
К тем же таблицам добавлена запись:
INSERT INTO employee (name, dept_id) VALUES
('Dan', NULL);
Выведите имена сотрудников без отдела. Если отдела нет, печатайте только имя.
Состав отделов и людей в staff.db:
dept.title | employee.name
Sales | Anna
Sales | Ben
Support | Cara
Для каждого отдела выведите его название и число сотрудников в нем.
Таблицы dept и employee после
всех вставок:
dept: 1 Sales, 2 Support
employee: Anna->1, Ben->1, Cara->2, Dan->NULL
Выведите имена сотрудников отдела
"Support" в алфавитном порядке.