Выбери правильный вариант ответа на вопрос. Можно ли написать этот запрос по-другому и получить такой же результат? Выберите варианты с запросами, которые подойдут для замены. WITH c AS (SELECT id, name FROM company WHERE status = 'closed'), p AS (SELECT company_id, first_name FROM people WHERE first_name LIKE '%John%') SELECT DISTINCT c.name FROM c JOIN p ON c.id = p.company_id;
SELECT c.name FROM (SELECT DISTINCT first_name AS name FROM people WHERE first_name = 'John') AS c WHERE c.status = 'closed';
SELECT name FROM company WHERE status = 'closed' AND id IN (SELECT company_id FROM people WHERE first_name LIKE '%John%');
SELECT DISTINCT c.name FROM company AS c JOIN people AS p ON c.id = p.company_id WHERE c.status = 'closed' AND p.first_name LIKE '%John%';
Ни один из этих запросов не подойдет: задачу можно решить только одним способом.
Выбранные варианты ответа:
- SELECT name FROM company WHERE status = 'closed' AND id IN (SELECT company_id FROM people WHERE first_name LIKE '%John%');
- SELECT DISTINCT c.name FROM company AS c JOIN people AS p ON c.id = p.company_id WHERE c.status = 'closed' AND p.first_name LIKE '%John%';
Правильный ответ:
Все 4 запроса дают такой же результат, поэтому можно выбрать любой из них для замены исходного запроса.