Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2015, 21:09   #1
Hlopushka
 
Регистрация: 20.03.2015
Сообщений: 3
По умолчанию Простые запросы на языке SQL

Доброго времени суток, Дорогие Форумчане. Совсем недавно в университете начали преподавать совершенно новый для меня, но очень интересный предмет - "Базы данных".
Порядка двух недель начали изучать язык запросов SQL. Я получил задание, но не могу справится, т.к не совсем понимаю условие. Нет ли в нем опечатки?
Просто не могу понять, разве может быть 2 одинаковых первичных ключа у разных таблиц? И как записать запрос через Union? Помогите пожалуйста, Гуру Бд. Заранее спасибо.
Изображения
Тип файла: jpg Задача.jpg (64.0 Кб, 129 просмотров)
Hlopushka вне форума Ответить с цитированием
Старый 20.03.2015, 21:41   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
разве может быть 2 одинаковых первичных ключа у разных таблиц?
Конечно. Это же разные таблицы.
Просто в условии нужно писать помимо ключевого поля имя таблицы по примеру:
Код:
join on Таблица1.ID=Таблица2.ID
Цитата:
как записать запрос через Union?
А он и не нужен.
Тут JOIN рулит:
Код:
select *
 from Покупка p
 join Клиент k on p.ID_Клиента=k.ID_Клиента
 join Водитель v on v.Номер_Покупки=p.Номер_Покупки
И так далее
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.03.2015, 20:35   #3
Hlopushka
 
Регистрация: 20.03.2015
Сообщений: 3
По умолчанию

Спасибо за объяснения, первый запрос получился вот такой.

Код:
SELECT Название_Города
FROM Город
WHERE Номер_города=(SELECT Номер_города_доставки 
FROM Покупка
WHERE Номер_груза="4233")/
Hlopushka вне форума Ответить с цитированием
Старый 21.03.2015, 20:42   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Только лучше так (и на много)
Код:
SELECT G.Название_Города
  FROM Город G,Покупка P
  WHERE G.Номер_города=P.Номер_города_доставки  AND P.Номер_груза="4233"
или так, что то же самое
Код:
SELECT G.Название_Города
  FROM Город G
    JOIN Покупка P ON G.Номер_города=P.Номер_города_доставки  AND P.Номер_груза="4233"
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.03.2015, 19:55   #5
Hlopushka
 
Регистрация: 20.03.2015
Сообщений: 3
По умолчанию

Спасибо за помощь! С Join`ом до конца пока не разобрался... Но я читаю
В общем смысле, как я понимаю, второй запрос должен быть похож на нечто такое?
Код:
Select К.Имя_Клиента, P.Вес_Покупки, P.Номер_Груза, G.Название_Города, P.Дата FROM Город G, Покупка P, Клиент К
(Where K.ID_Клиента=P.ID_Клиента) AND (G.Номер_города = P.Номер_Города доставки) AND (P.Вес_Покупки>20000)
С установкой "оракла" проблема возникла, так-то я хотел в базе это сам проверить.

Последний раз редактировалось Hlopushka; 23.03.2015 в 08:16.
Hlopushka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Некоторые простые запросы на PL/SQL levandowskiy SQL, базы данных 1 01.04.2013 18:29
sql запросы Sol' Помощь студентам 0 25.05.2011 15:02
Простые запросы DedBoroda PHP 0 04.11.2010 08:52
Запросы на языке OCL ilna БД в Delphi 0 11.06.2010 18:46
SQL запросы Best Programmist Microsoft Office Access 8 03.12.2009 16:42