Может ли кто-нибудь помочь мне с подходом к исправлению моего SQL? Я работаю с пятью таблицами.
Ожидаемые результаты:
- "написать запрос SQL, чтобы перечислить названия всех фильмов, в которых снялись Джонни Депп и Хелена Бонэм Картер "
- Ваш запрос должен выводить таблицу с одним столбцом для заголовка каждого элемента mov ie.
- . Можно предположить, что в База данных с именем Джонни Депп.
Вы можете предположить, что в базе данных есть только один человек с именем Хелена Бонэм Картер.
CREATE TABLE movies (
id INTEGER,
title TEXT NOT NULL,
year NUMERIC,
PRIMARY KEY(id)
);
CREATE TABLE stars (
movie_id INTEGER NOT NULL,
person_id INTEGER NOT NULL,
FOREIGN KEY(movie_id) REFERENCES movies(id),
FOREIGN KEY(person_id) REFERENCES people(id)
);
CREATE TABLE directors (
movie_id INTEGER NOT NULL,
person_id INTEGER NOT NULL,
FOREIGN KEY(movie_id) REFERENCES movies(id),
FOREIGN KEY(person_id) REFERENCES people(id)
);
CREATE TABLE ratings (
movie_id INTEGER NOT NULL,
rating REAL NOT NULL,
votes INTEGER NOT NULL,
FOREIGN KEY(movie_id) REFERENCES movies(id)
);
CREATE TABLE people (
id INTEGER,
name TEXT NOT NULL,
birth NUMERIC,
PRIMARY KEY(id)
);
This в результате получается 59 строк, где должно быть только 6 строк.
SELECT title FROM movies WHERE id IN (SELECT DISTINCT movie_id FROM
stars WHERE person_id = (SELECT id FROM people WHERE name IN
("Johnny Depp", "Helena Bonham Carter")));
Я вижу, что другие посты, в которых говорится об использовании "ГДЕ ВХОДА", были бы полезны, и я действительно использую его.