Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtSpDpLnk 160 of 224 menu
◀ ▶

Две связанные таблицы в Dart

Связь таблиц задают в SQL через JOIN, результат читают из строк db.select по именам столбцов.

В staff.db создайте таблицы по фрагменту:

import 'package:sqlite3/sqlite3.dart'; final db = sqlite3.open('staff.db'); db.execute(''' 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); '''); db.dispose();

Выведите для каждого сотрудника строку вида "Anna - Sales": имя, дефис, название отдела.

К тем же таблицам добавлена запись:

import 'package:sqlite3/sqlite3.dart'; final db = sqlite3.open('staff.db'); db.execute(''' INSERT INTO employee (name, dept_id) VALUES ('Dan', NULL); '''); db.dispose();

Выведите имена сотрудников без отдела. Если отдела нет, печатайте только имя.

Состав отделов и людей в staff.db:

const table = ''' dept.title | employee.name Sales | Anna Sales | Ben Support | Cara ''';

Для каждого отдела выведите его название и число сотрудников в нем.

Таблицы dept и employee после всех вставок:

const table = ''' dept: 1 Sales, 2 Support employee: Anna->1, Ben->1, Cara->2, Dan->NULL ''';

Выведите имена сотрудников отдела "Support" в алфавитном порядке.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить