@danilka_master

Как произвести выборку сразу нескольких таблиц?

Допустим, у меня есть таблица people, где находятся 3 столбца: id, age, name. Есть таблица hobby_hunt, где есть два столбца: id, time. Мне необходимо получить id и name, time для записи с определённым id. (две таблицы как раз и связаны id)
  • Вопрос задан
  • 294 просмотра
Решения вопроса 1
Есть 2 таблицы, такой формы:
-- Запрос на создание таблицы с именем people
CREATE TABLE people (
id INTEGER PRIMARY KEY AUTOINCREMENT,
age INTEGER NOT NULL,
name TEXT NOT NULL
);
-- Запрос на создание таблицы с именем hobby_hunt
CREATE TABLE hobby_hunt (
time_date TEXT NOT NULL,
auth_id INTEGER NOT NULL,
FOREIGN KEY (auth_id) REFERENCES people(id)
);
-- Запрос на добавление данных в таблицу
INSERT INTO people (id, name, age)
VALUES (1, 'Джек Лондон', 40);
INSERT INTO people (id, name, age)
VALUES (2, 'Лев Толстой', 82);
-- Запрос на добавление данных в таблицу
INSERT INTO hobby_hunt (time_date, auth_id)
VALUES ('2019-03-11 21:21:21.000', 1);
INSERT INTO hobby_hunt (time_date, auth_id)
VALUES ('2019-03-11 21:22:22.000', 2);
INSERT INTO hobby_hunt (time_date, auth_id)
VALUES ('2019-03-11 22:22:22.000', 2);


Выборка в sqlite по INNER JOIN:
-- SQLite
SELECT
 people.id, people.name, hobby_hunt.time_date
FROM
 people
INNER JOIN hobby_hunt ON hobby_hunt.auth_id = people.id;


ссылка на пример в документации

Конкретно ограничить по id можно так:
-- SQLite
SELECT
 people.id, people.name, hobby_hunt.time_date
FROM
 people
INNER JOIN hobby_hunt ON hobby_hunt.auth_id = people.id WHERE hobby_hunt.auth_id = 2;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы