Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Sql (https://forum.antichat.xyz/showthread.php?t=69115)

lomerok 02.05.2008 18:29

Sql
 
Уроки СКУЛЯ на http://sql-ex.ru/
--------------------------------------------------------------------------------------
Краткая информация о базе данных "Компьютерная фирма":

Схема БД состоит из четырех отношений:

Product(maker, model, type)
PC(code, model, speed, ram, hd, cd, price)
Laptop(code, model, speed, ram, hd, screen, price)
Printer(code, model, color, type, price)

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

SELECT (SELECT maker FROM PC) speed FROM Laptop WHERE hd>=10

что нетак ???

taha 02.05.2008 18:39

Код:

SELECT DISTINCT Product.maker, Laptop.speed
    FROM Product, Laptop
        WHERE Laptop.hd >= 10
              AND  Product.model = Laptop.model

Код:

ВЫБРАТЬ производителя и скорость лаптопа
  ИЗ Продуков и Лаптопов
    ГДЕ объем hd больше либо равен 10 и модель в таблице продуктов совпадает с моделью в таблице лаптопов


VDShark 02.05.2008 20:15

Вообще интереснее решать самому, а не просить решения =)
Тем более такие элементарные задачки... Там естьнеплохой справочник, и тд и тп =)
Уже сколько лет проекту - а он все еще актуален, и развивается :)

lomerok 02.05.2008 23:20

nepoluchaetsa samomu blin ...

Задание: 7
Найдите номера моделей и цены всех продуктов (любого типа) выпущенных производителем B (латинская буква).

SELECT Product.model, PC.price, Laptop.price, Printer.price FROM Product, PC, Laptop, Printer WHERE maker='B'

chto netak ?

taha 02.05.2008 23:37

У тебя в запросе ты запрашиваешь модель, цену пк, цену лаптопа, цену принтера фирмы 'B'! Должно быть 2 столбца, с моделью и ценой... А у тебя сколько будет?

Используй объединение UNION! хотябы самое тупое:

Код:

select product.model, pc.price
  from product, pc
    where product.maker='B' and product.model = pc.model

 union

  ДАЛЬШЕ ПРИДУМАЙ САМ!


lomerok 02.05.2008 23:44

select product.model, pc.price
from product, pc
where product.maker='B' and product.model = pc.model

union
select product.model, laptop.price
from product , laptop
where product.maker='b' and product.model = laptop.model

vsoravno nevihodit

lomerok 02.05.2008 23:45

что даёт Union ? объеденяет несколько запросов , ды ?

VDShark 02.05.2008 23:46

Цитата:

Сообщение от lomerok
vsoravno nevihodit

Про таблицу принтеров забыл

lomerok 02.05.2008 23:48

select product.model, pc.price
from product, pc
where product.maker='B' and product.model = pc.model

union
select product.model, laptop.price
from product , laptop
where product.maker='b' and product.model = laptop.model
union select product.model,printer.price
from product , printer
where product.maker='b' and product.model = printer.model

получилось , ура.......

lomerok 03.05.2008 05:25

Найдите производителя, выпускающего ПК, но не ПК-блокноты.

SELECT maker from product where type='pc'

что снова нетак ?7?


Время: 07:39