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

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

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

« Ответ #30 : 09-06-2008 20:00 » 

McZim,В любом случаи  спасибо за силку

Добавлено через 19 дней, 2 часа, 48 минут и 27 секунд:
Здравствуйте, пожалуйста помогите, у меня следующие задание:Вывести все содержимое базы books:

 Исходные данные

Основная таблица books в которой, ест Nное количество столбцов
Следующая таблица ID_Izd в которой ест два столбца ID и Izd
Следующая таблица ID_Themes в которой ест два столбца ID и Themes
Следующая таблица ID_Category в которой ест два столбца ID и Category

Я попробовал вот так:
Код:
Select books.*,ID_Izd.Izd,ID_Themes.Themes,ID_Category.Category
 From books,ID_Izd,ID_Themes,ID_Category
После этого запроса вывелось огромное количество строк которое превышает количество строк в таблице, я  разобрался почему у меня так много записей выводилась это происходило из за того что  в моем запроси я использовал Декартовое произведения, это мне не подходить.
Мне надо чтобы выводилось 72 записи по количеству Category

Select books.*,ID_Izd.Izd,ID_Themes.Themes,ID_Category.Category, Что выводим
 From books,ID_Izd,ID_Themes,ID_Category, откуда выводим
    Where Условие отбора, что напасать тут, что бы Вывилос все содержимое базы books не декартовым произведением я так понимаю что надо в условии отбора(Where) 
Указать что выводит записи которые по ID колонки ID_ Category = все остальные колонки ID , но не знаю как это показать в Where.

« Последнее редактирование: 28-06-2008 22:48 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Sla
Модератор

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

WWW
« Ответ #31 : 01-07-2008 13:12 » new

Diskriptor, Покажи структуру таблиц и постарайся формулировать задания, так как ставит их преподаватель Жаль
Записан

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

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

« Ответ #32 : 01-07-2008 14:34 » 

Цетирую препада он сказал переделат все 14 запросов с учетом внешних таблиц,  ID_Izd,ID_Themes,ID_Category
перваначалный запрос Select *From books выводится все, тепер мне надо его переделать с учетом внешних таблиц,  ID_Izd,ID_Themes,ID_Category books связана с внешними связами как один books ко многим внешних таблиц,  ID_Izd,ID_Themes,ID_Category

Добавлено через 23 дня, 14 часов, 44 минуты и 57 секунд:
Здравствуйте, у меня такие проблемка мне не достаточно того материала который нам рассказывает препад по SQL, у меня есть книга язык запросов SQL, в ней все очень хорошо все расписывается к этой книги идет исходник учебной базы, но я не знаю как его закомпилить пожалуйста расскажите как это заделать, на 200 SQL Server.
С днем Сис.админаПиво!
Исходник базы

* db_script.zip (2.68 Кб - загружено 1105 раз.)
« Последнее редактирование: 25-07-2008 05:19 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Sla
Модератор

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

WWW
« Ответ #33 : 28-07-2008 14:41 » 

это точно скрипт подарок сисадминам Улыбаюсь
человек изучает MSSQL - скрипт для Oracle
Записан

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

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

« Ответ #34 : 28-07-2008 17:26 » 

Sla,а в SQL можно ж импортировать данные из Oracle, я там видел, Улыбаюсь но у меня нет Oracle и я в нем не когда не работал,ты мне не мог бы закампилить в Oracle и потом сбросить в асу или на почету Diskriptor@yandey.ru а я его потом импортну в SQL


Добавлено через 15 часов, 14 минут и 59 секунд:
Подскажите где можно почитать, дайте ссылку, где пошагово расписывается резервное копирование MSSQL200 в графическом режиме, а то что то ищу, и не могу найти не как.
« Последнее редактирование: 29-07-2008 08:44 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

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

« Ответ #35 : 16-08-2008 19:58 » 

SQL Запросы№1


1.Вытащить название учебников, которые издавались не издательством 'BHV', и тираж которых >= 3000 экземпляров.
 
Код:
SELECT Press,Name,Pressrun From books Where  Press <> 'BHV' and (Pressrun>=3000);
2.Вытащить книги, о дате издания которых ничего не известно.
 
Код:
SELECT Name,Date  From books Where Date  is null;

3. Вытащить все книги-новинки, цена которых ниже 30 грн.
 
Код:
SELECT  Name, New,Price From books Where Price < 30 and New = true;
4. Вытащить книги, в названиях которых есть слово Microsoft, но нет слова Windows
 
Код:
Select Name
 From books
  Where Name like'%Microsoft%'
   and   
    Name not like '%Windows%';

5. Вытащить книги, в названиях которых присутствует не менее трех цифр.
 
Код:
SELECT Name From books Where Name Like '*#*#*#*';

6.Удалить книги, в коде которых присутствует цифры 6 или 7.
 
Код:
DELETE FROM Books WHERE Quantity LIKE '*6*' OR Quantity LIKE '*7*';





Добавлено через 21 час, 29 минут и 32 секунды:
SQL Запросы№3

1.)Уменьшить стоимость самоучителей на 15
Код:
Update books 
 Set Price=Price-15
  Where name like '%само%'

2.)Удалить все дешевые книги (<10)
Код:
Delete
 From Books
  Where  price <10

3.)Добавить 5 книг по Дизайну
Код:
Insert into books (N,Code,New,Name,Price,Pages,Format,Date,Pressrun)
 Values(768,677,1,'Inside 3D Studio',100,85,NULL,23.02.2000,6100)
4.)Сделать все старые книги новыми
Код:
Update books 
 Set New=1
  Where  New=0

5.)Увеличить стоимость книг тиражом более 5000 но не издательство Вильямс
Код:
Update books
 Set Price=Price+15
  Where Pressrun >5000   
  and  not
  ID_Izd like'% Вильямс%'
   
   


6.)Поставить сегодня. дату книгам, у которых есть категории.
Код:
Update Books
 Set Data "13.07.2008"
  Where Category not is null



Добавлено через 1 час, 21 минуту и 32 секунды:
SQL Запросы№4
1.)   Вывести количество книг с null значением категории
Код:
Select Count (*) as "Category is null"
 From books
  Where Category is null

2.)   Вывести разнецу между самой дорогой и самой дешевой книгой
2.
Код:
1Select (Max (Price) - Min (Price))
    From books
2.2.
Код:
Select AVG(max(Price)-min(Price)) from books


3.)   Вывести самую толстую книгу по Windows
Код:
Select Max (Pages)as "Pages"
 From books
  Where Category like '%Windows%'

4.)   Вывести среднюю стоимость страницы по локальным сетям
Код:
Select SUM(Price) /sum (Pages)as [Цена одной страницы]
 From books
  Where Category  like '%Локальные сети%'

5.)    Вывести  стоимость книг по программированию при скидки 20%
Код:
SELECT SUM (Price-Price*20/100) AS [ Цена книг по программированию]
 FROM books
  WHERE (Themes LIKE '%Программирование%')

6.)     Вывести  стоимость книг по программированию при надбавки 20%
Код:
SELECT SUM (Price+Price*20/100) AS [ Цена книг по программированию]
 FROM books
  WHERE (Themes LIKE '%Программирование%')



Добавлено через 19 минут и 51 секунду:
SQL Запросы№5
1) Вывести  количество экземпляров книг по: теми, которая дороже 70 и толще 500 страниц.
Код:
select Themes,sum(Pressrun)as [ Pressrun] from books Where price >=70 and Pages>=500  group by Themes; 
2) Средняя стоимость книг  по каждому издательству, а также самую дорогую и дешевую книгу.
Код:
Select min (price) as [Min and Max price ] from  books
   Union
    Select max (price)as [Max] from books
     select Izd,AVG(Price)as [ Price] from books group by Izd
     
3) Вывести временной промежуток межу продажей книг по категориям.
Код:
select Category,abs(max(Date)-min(Date)) from books group by Category


Добавлено через 20 минут и 21 секунду:
Все запросы должны работать корми  3 запроса в 3 домашки, там надо convert даты произвести, как раз сейчас в этом пытаюсь разбираться. 
Пока все с 6той домашкай пока застрел, с INNER JOIN не могу разобраться, когда разберусь, выложу 6 домашку  Я ужас, летящий на крыльях ночи
« Последнее редактирование: 16-08-2008 20:38 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Sla
Модератор

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

WWW
« Ответ #36 : 17-08-2008 10:39 » 

1.)Уменьшить стоимость самоучителей на 15
Код:
Update books 
 Set Price=Price+15
  Where name like '%само%'
Ты уверен что уменьшил цену?

Добавлено через 1 минуту и 57 секунд:
2.2.
Код:

Select ABS(max(Price)-min(Price)) from books

А что мкасимальная цена может быть меньше минимальной
Или цены могут быть отрицательными?

Добавлено через 1 минуту и 23 секунды:
3.)   Вывести самую толстую книгу по Windows


Select Max (Pages)as "Pages"
 From books
  Where Category like '%Windows%'

Ту выводишь не самую толстую книгу, а смое большое количество страниц.

Добавлено через 4 минуты и 40 секунд:
4.)   Вывести среднюю стоимость страницы по локальным сетям

Select AVG(Price) /sum (price)as [Цена одной страницы]
 From books
  Where Category  like '%Локальные сети%'


Запрос в корне не верен

Что такое среднее?
что такое сумма цен?

AVG(Price) /sum (price)

есть две книги  по цене 5 и 10
Средняя цена - 7.5
Сумма цен - 15

7.5 / 15 - я не понимаю что єто за коэффициент

Добавлено через 2 минуты и 18 секунд:
3.)Добавить 5 книг по Дизайну


Insert into books (N,Code,New,Name,Price,Pages,Format,Date,Pressrun)
 Values(768,677,1,'Inside 3D Studio',100,85,NULL,23.02.2000,6100)

Добавлена только одна книга

Добавлено через 1 минуту и 45 секунд:
Поставить сегодня. дату книгам, у которых есть категории.

Update Books
 Set Data "13.07.2008"
  Where Category not is null

Думаю что не совсем верно
Нужно использовать какую-нибудь функцию типа CurrentDate

Добавлено через 2 минуты и 33 секунды:
2) Средняя стоимость книг  по каждому издательству, а также самую дорогую и дешевую книгу.
Код:

Select min (price) as [Min and Max price ] from  books
   Union
    Select max (price)as [Max] from books
     select Izd,AVG(Price)as [ Price] from books group by Izd

Неверно, результатом будет два запроса, а не один

Добавлено через 3 минуты и 23 секунды:
Ну... на троечку с минусом, даже с двумя...
Некотрые вопросы не однозначны, и на них даны не однозначные ответы,
чтобы дать правильный ответ - нужно знать структуру таблиц.
« Последнее редактирование: 17-08-2008 10:57 от Sla » Записан

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

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

« Ответ #37 : 17-08-2008 17:26 » 

Sla, 1.)
Цитата
Ты уверен что уменьшил цену?
Не заметил, скопировал запрос, который написал, и забыл изменить + на -
2.Слава вот задание 2 а 2,1и 2,2 просто показал две реализации
2.) Вывести разницу между самой дорогой и самой дешевой книгой
Код:
Select (max(Price)-min(Price)) from books
3. Вывести самую толстую книгу по Windows
Цитата
Ту выводишь не самую толстую книгу, а смое большое количество страниц.
Справедливое замечание, но под самой толстой книгой подразумевалось в которой самое большое количество страниц, хотя согласен задача сформулирована  не корректно, препад сказал, что запрос правильный.
4.)   Вывести среднюю стоимость страницы по локальным сетям
Цитата
7.5 / 15 - я не понимаю что єто за коэффициент
Код:
Select SUM(Price) /sum (Pages)as [Цена одной страницы]
 From books
  Where Category  like '%Локальные сети%'
5.)Добавить 5 книг по Дизайну
Цитата
Добавлена только одна книга

Препад не требовал, что бы запрос был такой который вставлял пят книг за одно исполнение(F5)я спрашивал у него по этому поводу как можно это дело автоматизировать что бы 5 раз не нажимать F5 он либо не услышал моего вопроса либо про морозился, защитил как правильный запрос.
6.) Поставить сегодня. дату книгам, у которых есть категории.
Цитата
Думаю что не совсем верно
Нужно использовать какую-нибудь функцию типа CurrentDate
Опять же препад не требовал и функцию CurrentDate не показывал мы мало функций изучили всего:
Count
Sum
Min
Max
AVG
И еще одну сейчас не вспомню, математическая какаета
7.Средняя стоимость книг  по каждому издательству, а также самую дорогую и дешевую книгу.
Цитата
Неверно, результатом будет два запроса, а не один
Согласен не правильно, хотел реализовать через Union
Код:
Select izd, min (price) as [Min and Max price ] from  books group by Izd 
   Union
Select izd,max (price)as [Max] from books group by Izd
  union
Select Izd,AVG(Price)as [ Price] from books group by Izd
не получилась опят проблема с Convertтацией, сейчас как раз пытаюсь в ней разобраться,ну не внимательный я Жаль

Все ошибки учту и исправлю в запросах.
 


Добавлено через 9 дней, 15 часов, 15 минут и 8 секунд:
   
SQL Запросы Д.З№6
1,)КНИГИ:

Код:
SELECT Authors.LastName+' '+Authors.FirstName AS АВТОР, Books.Name AS НАЗВАНИЕ, Press.Name AS ИЗДАНИЕ, 
 Categories.Name AS КАТЕГОРИЯ, Books.YearPress AS ГОД
  FROM   Authors INNER JOIN
   Books ON Authors.Id = Books.Id_Author INNER JOIN
    Press ON Books.Id_Press = Press.Id INNER JOIN
     Categories ON Books.Id_Category = Categories.Id


2,)СТУДЕНТЫ:

Код:
SELECT Students.LastName AS ФАМИЛИЯ, Students.FirstName AS ИМЯ, Groups.Name AS ГРУППА, Faculties.Name AS ФАКУЛЬТЕТ
 FROM  Students INNER JOIN
  Groups ON Students.Id_Group = Groups.Id INNER JOIN
   Faculties ON Groups.Id_Faculty =Faculties.Id

3,)ПРЕПОДАВАТЕЛИ:

Код:
SELECT Teachers.LastName AS ФАМИЛИЯ, Teachers.FirstName AS ИМЯ, Departments.Name AS ПРЕДМЕТ
 FROM   Teachers INNER JOIN
  Departments ON Teachers.Id_Dep = Departments.Id


Добавлено через 16 дней, 12 часов, 29 минут и 28 секунд:
Здравствуйте пожалуйста помогите, мы прошли я бы сказал пролетели Здесь была моя ладья... тему
1.Создание новых пользователей
2.Назначение прав и ролей этим пользователям
3.Изменение прав пользователей
4.Вход в базу под  виндовой учеткой и под учеткой SQL
Все это было рассказано за один час, голова кругом идет. Здесь была моя ладья... Пожалуйста, дайте ссылку или название книге где эти моменты расписываются во всех подробностях, тема важная и в ней надо разобраться досконально. 
« Последнее редактирование: 12-09-2008 22:35 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Страниц: 1 [2]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines