Упражнение 6 (подсказки и решения)

Соединение таблиц (а здесь необходимо внутреннее соединение) можно выполнить двумя способами:

  1. Через предложение WHERE (единственная возможность до появления стандарта SQL-92)
SELECT DISTINCT Product.maker, Laptop.speed
FROM Product, Laptop
WHERE Product.model = Laptop.model
    AND Laptop.hd >= 10;
mssql
🚫
[[ error ]]
[[ column ]]
[[ value ]]
  1. С помощью явной операции соединения JOIN
SELECT DISTINCT Product.maker,Laptop.speed
FROM Product 
    JOIN Laptop ON Product.model = Laptop.model
WHERE Laptop.hd >= 10;
mssql
🚫
[[ error ]]
[[ column ]]
[[ value ]]

Хотя оптимизатор SQL Server построит одинаковый план выполнения для обоих запросов, предпочтительным является второй вариант, который позволяет отделить условия соединения таблиц от условий фильтрации строк.

Вернуться к обсуждению упражнения 6

Решить задачу на SQL-EX.RU