Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите понять работу кода в запросе  [new]
Учу SQL
Guest
По условию дана БД "Компьютерная фирма":

Схема БД состоит из четырех таблиц:
Product(maker, model, type)
PC(code, model, speed, ram, hd, cd, price)
Laptop(code, model, speed, ram, hd, price, screen)
Printer(code, model, color, type, price)
Таблица Product представляет производителя (maker), номер модели (model) и тип ('PC' - ПК, 'Laptop' - ПК-блокнот или 'Printer' - принтер). Предполагается, что номера моделей в таблице Product уникальны для всех производителей и типов продуктов. В таблице PC для каждого ПК, однозначно определяемого уникальным кодом – code, указаны модель – model (внешний ключ к таблице Product), скорость - speed (процессора в мегагерцах), объем памяти - ram (в мегабайтах), размер диска - hd (в гигабайтах), скорость считывающего устройства - cd (например, '4x') и цена - price. Таблица Laptop аналогична таблице РС за исключением того, что вместо скорости CD содержит размер экрана -screen (в дюймах). В таблице Printer для каждой модели принтера указывается, является ли он цветным - color ('y', если цветной), тип принтера - type (лазерный – 'Laser', струйный – 'Jet' или матричный – 'Matrix') и цена - price.

Нужно выполнить запрос : Найдите производителей ПК с процессором не менее 450 Мгц. Вывести: Maker

выполняю его :

SELECT DISTINCT maker
FROM product p,PC
WHERE p.model=pc.model
AND pc.speed>449


Обьясните пожалуйста как работает код запроса по частям ,не могу разобраться (а именно что такое "product p" и "p.model" ) зарание спасибо :)
20 авг 11, 05:50    [11150241]     Ответить | Цитировать Сообщить модератору
 Re: Помогите понять работу кода в запросе  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Учу SQL,
1. Обсуждение задач sql-ex может привести к бану на том ресурсе.
2. По задачам обычно есть FAQ, подсказки, помощь разработчиков
3. Документацию по синтаксису можно всегда узнать из BOL. Также желательно прочитать какую-нить книжку из основ.
4. На форуме есть тег SRC, который позволяет наглядней оформлять запросы
5. Синтаксис вида:
FROM product p,PC
лучше не использовать, а пользоваться JOIN
6. product p - p является псевдонимом таблицы, псевдонимы желательно использовать для всех таблиц.
7. p.model = pc.model - поля по которым производится соединение таблиц
8. В итоге тот же запрос более правильно переписать как:
SELECT DISTINCT
        p.maker
FROM    product AS p
JOIN    PC AS pc
ON      p.model = pc.model
WHERE   pc.speed > 449
20 авг 11, 08:41    [11150288]     Ответить | Цитировать Сообщить модератору
 Re: Помогите понять работу кода в запросе  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
https://www.sql.ru/forum/actualthread.aspx?tid=22955&hl=sql%20ex
20 авг 11, 11:56    [11150528]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить