Таблицы:Проблемы с SQL-запросом - как найти ответ?
PERSON
(ПЛА, имя)Has_Visited
(ПЛА, город)Belongs_To
(город, страна)
Основываясь на следующую информацию, создать этот вопрос:
Как называют людей, которые посетили город «Лондон»?
Таблицы:Проблемы с SQL-запросом - как найти ответ?
PERSON
(ПЛА, имя)Has_Visited
(ПЛА, город)Belongs_To
(город, страна)Основываясь на следующую информацию, создать этот вопрос:
Как называют людей, которые посетили город «Лондон»?
Select p.Name from person p,has_visited hs
where p.ssn= hs.ssn and hs.city= 'LONDON'
Просто используйте in
оператор:
SELECT name
FROM person
WHERE ssn IN (SELECT ssn
FROM has_visited
WHERE city = 'London');
Мне любопытно, почему вы предпочли это присоединиться? Это вопрос производительности или просто предпочтение? –
Это вопрос читаемости - этот запрос заявляет, что он выбирает каждого человека (не более) один раз, а не некоторую комбинацию людей и посещений. Подумайте, будет ли схема распространяться на список **, если ** человек посетил город и разрешить несколько посещений. Запрос с использованием соединения будет возвращать этот человек дважды. Этот будет продолжать функционировать должным образом. – Mureinik
Является ли это домашнее задание? (Важно дать правильные ответы.) Что вы пробовали? – Guffa