Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: SQL запросы  (Прочитано 11409 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Domra
Участник

ru
Offline Offline
Пол: Женский

« : 11-07-2015 11:04 » 

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

Схема БД состоит из четырех таблиц:
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.

Я пишу так:

SELECT maker
FROM product
WHERE type IN
(SELECT maker, type
 FROM product
 WHERE type  = 'PC'
 EXCEPT
 SELECT maker, type
 FROM product
 WHERE type <> 'PC')

Не работает( Здесь была моя ладья...
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 11-07-2015 11:19 » 

Если вы проходите тесты на http://www.sql-ex.ru , то будьте добры  читайте справки по теме на самом ресурсе.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Domra
Участник

ru
Offline Offline
Пол: Женский

« Ответ #2 : 11-07-2015 11:33 » 

Вы имеете в виду учебник, который там дан?
Читаю, конечно. Раз пять уже прочла ссылки, которые даются к этой задаче - предикат IN и "Пересечение и разность".
Ни фига ясности не прибавило. А черт его знает...

Добавлено через 26 минут и 7 секунд:
Дошло!

SELECT maker
FROM product
WHERE type = 'PC'
EXCEPT
SELECT maker
FROM product
WHERE type = 'Laptop'

Спасибо!
Не серчайте - ни разу не программистка, все новое для меня.
И стиль подачи учебника мягко, говоря, далек от учебника для новичков.
« Последнее редактирование: 11-07-2015 11:59 от Domra » Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #3 : 13-07-2015 10:35 » 

Вы имеете в виду учебник, который там дан?
Читаю, конечно. Раз пять уже прочла ссылки, которые даются к этой задаче - предикат IN и "Пересечение и разность".
Ни фига ясности не прибавило. А черт его знает...
подозреваю, что Sla имел ввиду, что надо решения искать самому, на то они и тесты Улыбаюсь
Записан

I Have Nine Lives You Have One Only
THINK!
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 13-07-2015 17:51 » 

HandKot, положа руку на сердце, описание на ресурсе действительно не для ученика.
Но!
Если читать
Цитата
Читаю, конечно. Раз пять уже прочла ссылки, которые даются к этой задаче - предикат IN и "Пересечение и разность".
То до одури, чтоб проникнуться. В общем-то сам на этом ресурсе немного скилу добавил, в свое время, потому что в реальных условиях редко можно встретить задачи с пересечениями и разностями (в моих реальных условиях)
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #5 : 13-07-2015 18:26 » new

В общем-то сам на этом ресурсе немного скилу добавил, в свое время, потому что в реальных условиях редко можно встретить задачи с пересечениями и разностями (в моих реальных условиях)
тут соглашусь, там такие задачи, которые редко (читать никогда) встретишь в реальной жизни. Но, уяснил для себя, читая форум после решения задачи, находишь (откладываешь в копилку себе) такие элегантные и красивые решения, что диву даёшься Внимание! Говорит и показывает...
Записан

I Have Nine Lives You Have One Only
THINK!
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines